ATLAS Offline Software
LArCell.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 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 
97  LArCell& operator= (const LArCell&) = default;
98  LArCell& operator= (LArCell&&) = default;
99 
101  void assign (const CaloDetDescrElement* caloDDE,
102  const Identifier& id,
103  double energy,
104  double time,
108 
110  double deltaR (const LArCell* other) const ;
111 
113  void print (void) const;
114 
116  virtual std::unique_ptr<CaloCell> clone() const override final;
117 
122  void add_energy (double energy);
123 
127  void setEnergyFast(float e) ;
128 
132  void setQualityFast(float q) ;
133 
137  void setTimeFast(float t) ;
138 
140  virtual bool badcell() const override final;
141 
142 
143 
144 private:
145 
146 };
147 
148 
149 // inline methods:
150 
151 inline LArCell::LArCell() : CaloCell()
152 {}
153 
155  double energy,
156  double time,
157  double quality,
159  :
161 {}
162 
163 inline LArCell::LArCell(const CaloDetDescrElement* caloDDE,
164  const Identifier& id,
165  double energy,
166  double time,
167  double quality,
169  :
170  CaloCell(caloDDE,id,energy,time,quality,gain)
171 {}
172 
173 inline LArCell::LArCell(const CaloDetDescrElement* caloDDE,
174  double energy,
175  double time,
177  uint16_t provenance,
179  :
180  CaloCell(caloDDE,energy,time,quality,provenance,gain)
181 {}
182 
183 inline LArCell::LArCell(const CaloDetDescrElement* caloDDE,
184  const Identifier& id,
185  double energy,
186  double time,
188  uint16_t provenance,
190  :
191  CaloCell(caloDDE,id,energy,time,quality,provenance,gain)
192 {}
193 
194 
195 
196 inline void LArCell::assign(const CaloDetDescrElement* caloDDE,
197  const Identifier& id,
198  double energy,
199  double time,
201  uint16_t provenance,
203 {
205 }
206 
207 
208 inline void LArCell::add_energy(double energy)
209 {
210 m_energy += energy;
211 }
212 
213 
214 inline void LArCell::setEnergyFast(float e)
215 {
216  m_energy = e ;
217 }
218 
219 
220 inline void LArCell::setQualityFast(float q)
221 {
222  m_quality = (int)(q) ;
223 }
224 
225 
226 inline void LArCell::setTimeFast(float t)
227 {
228  m_time = t ;
229 }
230 
231 #endif
232 
233 
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
LArCell::setQualityFast
void setQualityFast(float q)
set Quality to this cell with inline method.
Definition: LArCell.h:220
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:275
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:208
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
LArCell::operator=
LArCell & operator=(const LArCell &)=default
CaloCell.h
CaloCell::e
virtual double e() const override final
get energy (data member) (synonym to method energy()
Definition: CaloCell.h:333
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
CaloCell::provenance
uint16_t provenance() const
get provenance (data member)
Definition: CaloCell.h:354
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
CaloCell::time
float time() const
get time (data member)
Definition: CaloCell.h:368
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:327
CaloCell::m_quality
int m_quality
Definition: CaloCell.h:245
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:93
LArCell::~LArCell
virtual ~LArCell()
default destructor
Definition: LArCell.cxx:13
CaloCell::caloDDE
const CaloDetDescrElement * caloDDE() const
get pointer to CaloDetDescrElement (data member)
Definition: CaloCell.h:321
CaloCell::m_energy
float m_energy
energy (in MeV)
Definition: CaloCell.h:230
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:214
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:196
columnar::final
CM final
Definition: ColumnAccessor.h:106
CaloCell::quality
uint16_t quality() const
get quality (data member)
Definition: CaloCell.h:348
LArCell::LArCell
LArCell()
default constructor (should not be used, only there for persistency reason)
Definition: LArCell.h:151
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:239
CaloCell::gain
CaloGain::CaloGain gain() const
get gain (data member )
Definition: CaloCell.h:361
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
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
CaloCell::m_time
float m_time
time
Definition: CaloCell.h:232
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
python.TrackLeptonConfig.quality
quality
Definition: TrackLeptonConfig.py:16
extractSporadic.q
list q
Definition: extractSporadic.py:97
private
#define private
Definition: xAODTruthCnvAlg.h:20
CaloGain.h
LArCell::setTimeFast
void setTimeFast(float t)
set Time to this cell with inline method.
Definition: LArCell.h:226
Identifier
Definition: IdentifierFieldParser.cxx:14