ATLAS Offline Software
LArWaveCumul.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
16 #ifndef LARRAWCONDITIONS_LARWAVECUMUL_H
17 #define LARRAWCONDITIONS_LARWAVECUMUL_H
18 
28 #include <vector>
29 
30 class LArWaveCumul : public LArWave {
31 
32  public:
33 
35 
36  LArWaveCumul();
37 
38  LArWaveCumul(const std::vector<double>& theVector,
39  double dt,
40  unsigned flag=0);
41 
42  LArWaveCumul(const std::vector<double>& vAmpl,
43  const std::vector<double>& vErr,
44  const std::vector<int>& vTrig,
45  double dt,
46  unsigned flag=0);
47 
48  LArWaveCumul(unsigned nSamples,
49  double dt,
50  unsigned flag=0);
51 
52  virtual ~LArWaveCumul() = default;
54 
56 
57 
59  const std::vector<double>& getErrors() const;
60 
62  double getError(unsigned i) const;
63 
65  const std::vector<int>& getTriggers() const;
66 
68  int getTrigger(unsigned i) const;
69 
71 
72 
74 
75 
77  void addEvent( int delay , int step , const std::vector<double>& Samples ) ;
78 
80  void addAccumulatedEvent( int delay ,
81  int step ,
82  const std::vector<double>& SamplesSum ,
83  const std::vector<double>& Samples2Sum ,
84  unsigned nTriggers ) ;
86 
87  protected:
88 
89  std::vector<double> m_errors ;
90  std::vector<int> m_triggers ;
91 
92 };
93 
94 
95 inline
97  :
98  LArWave()
99 {}
100 
101 inline
102 LArWaveCumul::LArWaveCumul(const std::vector<double>& theVector,
103  double dt,
104  unsigned flag)
105  :
106  LArWave(theVector,dt,flag)
107 {
108  unsigned nSamples = theVector.size();
109  m_errors.resize(nSamples,0);
110  m_triggers.resize(nSamples,0);
111 }
112 
113 inline
114 LArWaveCumul::LArWaveCumul(const std::vector<double>& vAmpl,
115  const std::vector<double>& vErr,
116  const std::vector<int>& vTrig,
117  double dt,
118  unsigned flag)
119  :
120  LArWave(vAmpl,dt,flag),
121  m_errors(vErr),
122  m_triggers(vTrig)
123 {}
124 
125 inline
127  double dt,
128  unsigned flag)
129  :
131 {
132  m_errors.resize(nSamples,0) ;
133  m_triggers.resize(nSamples,0) ;
134 }
135 
136 inline
137 const std::vector<double>&
139 { return m_errors ; }
140 
141 inline
142 double
143 LArWaveCumul::getError(unsigned i) const
144 {
145  return (i<getSize()) ? m_errors[i] : -9.9999E+99 ;
146 }
147 
148 inline
149 const std::vector<int>&
151 {
152  return m_triggers;
153 }
154 
155 inline
156 int
158 { return (i<getSize()) ? m_triggers[i] : -999999999; }
159 
160 
161 #endif // LARWAVECUMUL_H
LArWave
Definition: LArWave.h:31
LArWaveCumul
Definition: LArWaveCumul.h:30
LArWave::getSize
size_t getSize() const
number of time samples
Definition: LArWave.h:62
LArWaveCumul::m_errors
std::vector< double > m_errors
Definition: LArWaveCumul.h:89
LArWaveCumul::addEvent
void addEvent(int delay, int step, const std::vector< double > &Samples)
add in set of channel responses for a given step/delay
Definition: LArWaveCumul.cxx:33
lumiFormat.i
int i
Definition: lumiFormat.py:92
CaloNoise_fillDB.dt
dt
Definition: CaloNoise_fillDB.py:58
master.flag
bool flag
Definition: master.py:29
delay
double delay(std::size_t d)
Definition: JetTrigTimerTest.cxx:14
LArWaveCumul::m_triggers
std::vector< int > m_triggers
Definition: LArWaveCumul.h:90
LArWaveCumul::getError
double getError(unsigned i) const
error per time bin
Definition: LArWaveCumul.h:143
LArWaveCumul::LArWaveCumul
LArWaveCumul()
Definition: LArWaveCumul.h:96
LArCellBinning.step
step
Definition: LArCellBinning.py:158
LArDigits2NtupleDumper.nSamples
nSamples
Definition: LArDigits2NtupleDumper.py:70
LArWave.h
python.grid.Samples
def Samples(names)
Definition: grid.py:48
LArWaveCumul::~LArWaveCumul
virtual ~LArWaveCumul()=default
LArWaveCumul::addAccumulatedEvent
void addAccumulatedEvent(int delay, int step, const std::vector< double > &SamplesSum, const std::vector< double > &Samples2Sum, unsigned nTriggers)
used when building from LArAccumulatedDigits
Definition: LArWaveCumul.cxx:65
LArWaveCumul::getErrors
const std::vector< double > & getErrors() const
error vector
Definition: LArWaveCumul.h:138
LArOnlineID.h
LArWaveCumul::getTrigger
int getTrigger(unsigned i) const
trigger per time bin
Definition: LArWaveCumul.h:157
LArWaveCumul::getTriggers
const std::vector< int > & getTriggers() const
trigger vector
Definition: LArWaveCumul.h:150