ATLAS Offline Software
DataContainer.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
11 #ifndef LArSamples_DataContainer_H
12 #define LArSamples_DataContainer_H
13 
14 #include "LArCafJobs/Definitions.h"
16 #include <vector>
19 
20 class TH1D;
21 
22 
23 namespace LArSamples {
24 
26 
27  public:
28 
30  DataContainer();
31 
32  DataContainer(CaloGain::CaloGain gain, const std::vector<short>& samples,
33  float energy, float time, float quality,
34  int eventIndex,
35  LArVectorProxy autoCorr,
36  //const std::vector<float>& autoCorr,
37  float noise = -1,
38  float pedestal = 0, float pedestalRMS = -1,
39  int status = -1, float adcMax = -1);
40 
41  DataContainer(CaloGain::CaloGain gain, const std::vector<short>& samples,
42  const std::vector<float>& corrs,
43  int eventIndex,
44  float energy, float time, float quality,
45  float pedestal, float pedestalRMS,
46  int status, float adcMax);
47 
48  DataContainer(const DataContainer& other, double adcMax = -1, double time = -1);
49 
51  virtual ~DataContainer();
52 
54  CaloGain::CaloGain gain() const { return m_gain; }
55 
57  unsigned int nSamples() const { return m_samples.size(); }
58 
60  const std::vector<short>& samples() const { return m_samples; }
61  const short& sample(unsigned int i) const { return m_samples[i]; }
62 
64  int eventIndex() const { return m_eventIndex; }
65 
67  float energy() const { return m_energy; }
68 
70  float ofcTime() const { return m_time; }
71 
73  float quality() const { return m_quality; }
74 
76  float pedestal() const { return m_pedestal; }
77  float pedestalRMS() const { return m_pedestalRMS; }
78 
80  int status() const { return m_status; }
81 
83  const std::vector<float>& corrs() const { return m_corrs; }
84 
86  float adcMax() const { return m_adcMax; }
87 
88  double footprint() const { return sizeof(*this) + m_samples.size()*sizeof(short) + m_corrs.size()*sizeof(float); }
89 
90  void setADCMax(float adcMax) { m_adcMax = adcMax; }
91  void setTime (float time) { m_time = time; }
92  void setEventIndex(int index) { m_eventIndex = index; }
93 
94  // debug only, use with care!
95  void set(unsigned int i, short val) { m_samples[i] = val; }
96  bool isValid() const;
97 
98  private:
99 
102 
104  std::vector<short> m_samples;
105 
107  std::vector<float> m_corrs;
108 
110 
111  float m_energy, m_time, m_quality;
112  float m_pedestal, m_pedestalRMS;
113  unsigned int m_status;
114  float m_adcMax;
115 
116  DataContainer& operator= (const DataContainer&);
117  };
118 }
119 #endif
120 
LArSamples::DataContainer::m_samples
std::vector< short > m_samples
vector of ADC samples
Definition: DataContainer.h:104
xAOD::short
short
Definition: Vertex_v1.cxx:165
LArSamples::DataContainer::m_status
unsigned int m_status
Definition: DataContainer.h:113
LArSamples::DataContainer::m_time
float m_time
Definition: DataContainer.h:111
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
LArSamples::DataContainer::gain
CaloGain::CaloGain gain() const
Definition: DataContainer.h:54
LArSamples::DataContainer::setTime
void setTime(float time)
Definition: DataContainer.h:91
index
Definition: index.py:1
LArSamples::DataContainer::samples
const std::vector< short > & samples() const
Definition: DataContainer.h:60
LArSamples::DataContainer::setADCMax
void setADCMax(float adcMax)
Definition: DataContainer.h:90
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
LArVectorProxy.h
Proxy for accessing a range of float values like a vector.
LArSamples::DataContainer::ofcTime
float ofcTime() const
Definition: DataContainer.h:70
TH1D
Definition: rootspy.cxx:342
LArSamples::DataContainer::adcMax
float adcMax() const
Definition: DataContainer.h:86
LArSamples
Definition: AbsShape.h:24
isValid
bool isValid(const T &p)
Definition: AtlasPID.h:214
LArSamples::DataContainer::nSamples
unsigned int nSamples() const
Definition: DataContainer.h:57
LArSamples::DataContainer::m_eventIndex
int m_eventIndex
Definition: DataContainer.h:109
LArSamples::DataContainer::pedestalRMS
float pedestalRMS() const
Definition: DataContainer.h:77
LArSamples::DataContainer::m_pedestalRMS
float m_pedestalRMS
Definition: DataContainer.h:112
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
lumiFormat.i
int i
Definition: lumiFormat.py:92
01SubmitToGrid.samples
samples
Definition: 01SubmitToGrid.py:58
LArSamples::DataContainer::m_corrs
std::vector< float > m_corrs
noise + correlations in MeV
Definition: DataContainer.h:107
LArSamples::DataContainer::m_adcMax
float m_adcMax
Definition: DataContainer.h:114
LArSamples::DataContainer::m_gain
CaloGain::CaloGain m_gain
gain
Definition: DataContainer.h:101
Definitions.h
LArSamples::DataContainer::sample
const short & sample(unsigned int i) const
Definition: DataContainer.h:61
LArSamples::DataContainer::energy
float energy() const
Definition: DataContainer.h:67
CaloGain::CaloGain
CaloGain
Definition: CaloGain.h:11
DeMoScan.index
string index
Definition: DeMoScan.py:362
LArSamples::DataContainer
Definition: DataContainer.h:25
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
LArSamples::DataContainer::eventIndex
int eventIndex() const
Definition: DataContainer.h:64
LArSamples::DataContainer::status
int status() const
Definition: DataContainer.h:80
merge.status
status
Definition: merge.py:17
LArSamples::DataContainer::pedestal
float pedestal() const
Definition: DataContainer.h:76
LArSamples::DataContainer::corrs
const std::vector< float > & corrs() const
Definition: DataContainer.h:83
checker_macros.h
Define macros for attributes used to control the static checker.
CaloGain.h
LArSamples::DataContainer::quality
float quality() const
Definition: DataContainer.h:73
LArSamples::DataContainer::setEventIndex
void setEventIndex(int index)
Definition: DataContainer.h:92
readCCLHist.float
float
Definition: readCCLHist.py:83
LArSamples::DataContainer::footprint
double footprint() const
Definition: DataContainer.h:88
WriteCellNoiseToCool.noise
noise
Definition: WriteCellNoiseToCool.py:380
LArSamples::DataContainer::set
void set(unsigned int i, short val)
Definition: DataContainer.h:95
LArVectorProxy
Proxy for accessing a range of float values like a vector.
Definition: LArVectorProxy.h:38
EventInfoCnvParams::eventIndex
thread_local event_number_t eventIndex
Definition: IEvtIdModifierSvc.h:34