ATLAS Offline Software
Loading...
Searching...
No Matches
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
20
21/*
22CREATED: Dec. 15, 1999
23
24Updated: May 10, 2000 (SR, HM)
25 Migrated to Athena Framework from PASO
26
27Updated: Nov. 03, 2000 (HM)
28 Follow new LArCell Contructor (include time, quality)
29
30Updated: Dec. 02, 2000 (M. Wielers, P. Loch)
31 Extended to work for FCAL
32
33Updated: Jan. 2, 2001 (SR)
34 Adhere to QC standards (based on comments from S. Albrand)
35
36Updated: Jan. 2, 2001 (Efrank)
37 Add Navigation code.
38
39Updated: April 2002 (H. Ma)
40 moved to LArCalorimeter/LArRecEvent
41
42Updated: June 2003 (H. Ma)
43 moved to CaloCell with CaloDDE*
44
45********************************************************************/
46
47
48#include "CaloEvent/CaloCell.h"
50
51class LArCell final: public CaloCell
52// Note: this class also inherits from Navigable, via CaloCell
53{
54
55public:
56
57
59 LArCell();
60
63 double energy,
64 double time,
65 double quality,
67
70 double energy,
71 double time,
72 uint16_t quality,
73 uint16_t provenance,
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,
90 uint16_t quality,
91 uint16_t provenance,
93
95 virtual ~LArCell ();
96
97 LArCell& operator= (const LArCell&) = default;
98 LArCell& operator= (LArCell&&) = default;
99
102 const Identifier& id,
103 double energy,
104 double time,
105 uint16_t quality,
106 uint16_t provenance,
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
144private:
145
146};
147
148
149// inline methods:
150
152{}
153
155 double energy,
156 double time,
157 double quality,
159 :
161{}
162
164 const Identifier& id,
165 double energy,
166 double time,
167 double quality,
169 :
171{}
172
174 double energy,
175 double time,
176 uint16_t quality,
177 uint16_t provenance,
179 :
181{}
182
184 const Identifier& id,
185 double energy,
186 double time,
187 uint16_t quality,
188 uint16_t provenance,
190 :
192{}
193
194
195
197 const Identifier& id,
198 double energy,
199 double time,
200 uint16_t quality,
201 uint16_t provenance,
203{
205}
206
207
208inline void LArCell::add_energy(double energy)
209{
211}
212
213
214inline void LArCell::setEnergyFast(float e)
215{
216 m_energy = e ;
217}
218
219
220inline void LArCell::setQualityFast(float q)
221{
222 m_quality = (int)(q) ;
223}
224
225
226inline void LArCell::setTimeFast(float t)
227{
228 m_time = t ;
229}
230
231#endif
232
233
float time() const
get time (data member)
Definition CaloCell.h:368
virtual double e() const override final
get energy (data member) (synonym to method energy()
Definition CaloCell.h:333
int m_quality
Definition CaloCell.h:245
CaloCell()
default constructor (should not be used, only there for persistency reason)
Definition CaloCell.h:263
float m_energy
energy (in MeV)
Definition CaloCell.h:230
double energy() const
get energy (data member)
Definition CaloCell.h:327
const CaloDetDescrElement * caloDDE() const
get pointer to CaloDetDescrElement (data member)
Definition CaloCell.h:321
uint16_t provenance() const
get provenance (data member)
Definition CaloCell.h:354
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
uint16_t quality() const
get quality (data member)
Definition CaloCell.h:348
float m_time
time
Definition CaloCell.h:232
CaloGain::CaloGain gain() const
get gain (data member )
Definition CaloCell.h:361
This class groups all DetDescr information related to a CaloCell.
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
virtual bool badcell() const override final
Check from provenance bit is cell is dead.
Definition LArCell.cxx:45
LArCell & operator=(const LArCell &)=default
virtual std::unique_ptr< CaloCell > clone() const override final
clone this cell into another one
Definition LArCell.cxx:33
void add_energy(double energy)
Add energy to this cell.
Definition LArCell.h:208
double deltaR(const LArCell *other) const
get deltaR (using 4mom helper) with respect to another cell
Definition LArCell.cxx:17
void print(void) const
print all relevant info about this cell
Definition LArCell.cxx:25
void setEnergyFast(float e)
set Energy to this cell with inline method.
Definition LArCell.h:214
void setQualityFast(float q)
set Quality to this cell with inline method.
Definition LArCell.h:220
virtual ~LArCell()
default destructor
Definition LArCell.cxx:13
LArCell()
default constructor (should not be used, only there for persistency reason)
Definition LArCell.h:151
void setTimeFast(float t)
set Time to this cell with inline method.
Definition LArCell.h:226
#define private