ATLAS Offline Software
LArCell.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 #ifndef LARRECEVENT_LARCELL_H
6 #define LARRECEVENT_LARCELL_H
7 
21 /*
22 CREATED: Dec. 15, 1999
23 
24 Updated: May 10, 2000 (SR, HM)
25  Migrated to Athena Framework from PASO
26 
27 Updated: Nov. 03, 2000 (HM)
28  Follow new LArCell Contructor (include time, quality)
29 
30 Updated: Dec. 02, 2000 (M. Wielers, P. Loch)
31  Extended to work for FCAL
32 
33 Updated: Jan. 2, 2001 (SR)
34  Adhere to QC standards (based on comments from S. Albrand)
35 
36 Updated: Jan. 2, 2001 (Efrank)
37  Add Navigation code.
38 
39 Updated: April 2002 (H. Ma)
40  moved to LArCalorimeter/LArRecEvent
41 
42 Updated: June 2003 (H. Ma)
43  moved to CaloCell with CaloDDE*
44 
45 ********************************************************************/
46 
47 
48 #include "CaloEvent/CaloCell.h"
50 
51 class LArCell final: public CaloCell
52 // Note: this class also inherits from Navigable, via CaloCell
53 {
54 
55 public:
56 
57 
59  LArCell();
60 
63  double energy,
64  double time,
65  double quality,
67 
70  double energy,
71  double time,
75 
76 
79  const Identifier& id,
80  double energy,
81  double time,
82  double quality,
84 
87  const Identifier& id,
88  double energy,
89  double time,
93 
95  virtual ~LArCell ();
96 
98  void assign (const CaloDetDescrElement* caloDDE,
99  const Identifier& id,
100  double energy,
101  double time,
105 
107  double deltaR (const LArCell* other) const ;
108 
110  void print (void) const;
111 
113  virtual std::unique_ptr<CaloCell> clone() const override final;
114 
119  void add_energy (double energy);
120 
124  void setEnergyFast(float e) ;
125 
129  void setQualityFast(float q) ;
130 
134  void setTimeFast(float t) ;
135 
137  virtual bool badcell() const override final;
138 
139 
140 
141 private:
142 
143 };
144 
145 
146 // inline methods:
147 
149 {}
150 
151 inline LArCell::LArCell(const CaloDetDescrElement* caloDDE,
152  double energy,
153  double time,
154  double quality,
156  :
157  CaloCell(caloDDE,energy,time,quality,gain)
158 {}
159 
160 inline LArCell::LArCell(const CaloDetDescrElement* caloDDE,
161  const Identifier& id,
162  double energy,
163  double time,
164  double quality,
166  :
167  CaloCell(caloDDE,id,energy,time,quality,gain)
168 {}
169 
170 inline LArCell::LArCell(const CaloDetDescrElement* caloDDE,
171  double energy,
172  double time,
173  uint16_t quality,
174  uint16_t provenance,
176  :
177  CaloCell(caloDDE,energy,time,quality,provenance,gain)
178 {}
179 
180 inline LArCell::LArCell(const CaloDetDescrElement* caloDDE,
181  const Identifier& id,
182  double energy,
183  double time,
184  uint16_t quality,
185  uint16_t provenance,
187  :
188  CaloCell(caloDDE,id,energy,time,quality,provenance,gain)
189 {}
190 
191 
192 
193 inline void LArCell::assign(const CaloDetDescrElement* caloDDE,
194  const Identifier& id,
195  double energy,
196  double time,
197  uint16_t quality,
198  uint16_t provenance,
200 {
202 }
203 
204 
205 inline void LArCell::add_energy(double energy)
206 {
207 m_energy += energy;
208 }
209 
210 
211 inline void LArCell::setEnergyFast(float e)
212 {
213  m_energy = e ;
214 }
215 
216 
217 inline void LArCell::setQualityFast(float q)
218 {
219  m_quality = (int)(q) ;
220 }
221 
222 
223 inline void LArCell::setTimeFast(float t)
224 {
225  m_time = t ;
226 }
227 
228 #endif
229 
230 
LArCell::setQualityFast
void setQualityFast(float q)
set Quality to this cell with inline method.
Definition: LArCell.h:217
CaloCell::assign
void assign(const CaloDetDescrElement *caloDDE, const Identifier &ID, float energy, float time, uint16_t quality, uint16_t provenance, CaloGain::CaloGain gain)
For initializing a cell we get from a DataPool.
Definition: CaloCell.h:259
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
LArCell::add_energy
void add_energy(double energy)
Add energy to this cell.
Definition: LArCell.h:205
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
CaloCell.h
CaloCell::e
virtual double e() const override final
get energy (data member) (synonym to method energy()
Definition: CaloCell.h:317
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
CaloCell::provenance
uint16_t provenance() const
get provenance (data member)
Definition: CaloCell.h:338
CaloCell::time
float time() const
get time (data member)
Definition: CaloCell.h:352
LArCell::print
void print(void) const
print all relevant info about this cell
Definition: LArCell.cxx:25
CaloCell::energy
double energy() const
get energy (data member)
Definition: CaloCell.h:311
CaloCell::m_quality
int m_quality
Definition: CaloCell.h:229
LArCell::clone
virtual std::unique_ptr< CaloCell > clone() const override final
clone this cell into another one
Definition: LArCell.cxx:33
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
LArCell::~LArCell
virtual ~LArCell()
default destructor
Definition: LArCell.cxx:13
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
CaloCell::caloDDE
const CaloDetDescrElement * caloDDE() const
get pointer to CaloDetDescrElement (data member)
Definition: CaloCell.h:305
CaloCell::m_energy
float m_energy
energy (in MeV)
Definition: CaloCell.h:214
LArCell::deltaR
double deltaR(const LArCell *other) const
get deltaR (using 4mom helper) with respect to another cell
Definition: LArCell.cxx:17
LArCell::setEnergyFast
void setEnergyFast(float e)
set Energy to this cell with inline method.
Definition: LArCell.h:211
LArCell::assign
void assign(const CaloDetDescrElement *caloDDE, const Identifier &id, double energy, double time, uint16_t quality, uint16_t provenance, CaloGain::CaloGain gain)
For initializing a cell we get from a DataPool.
Definition: LArCell.h:193
CaloCell::quality
uint16_t quality() const
get quality (data member)
Definition: CaloCell.h:332
LArCell::LArCell
LArCell()
default constructor (should not be used, only there for persistency reason)
Definition: LArCell.h:148
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
CaloCell::gain
CaloGain::CaloGain gain() const
get gain (data member )
Definition: CaloCell.h:345
LArCell
Data object for LAr calorimeter readout cell.
Definition: LArCell.h:53
CaloGain::CaloGain
CaloGain
Definition: CaloGain.h:11
LArCell::badcell
virtual bool badcell() const override final
Check from provenance bit is cell is dead.
Definition: LArCell.cxx:45
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
CaloCell::m_time
float m_time
time
Definition: CaloCell.h:216
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
extractSporadic.q
list q
Definition: extractSporadic.py:98
CaloGain.h
LArCell::setTimeFast
void setTimeFast(float t)
set Time to this cell with inline method.
Definition: LArCell.h:223