ATLAS Offline Software
CaloCalibrationHit.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // CaloCalibrationHit
6 // 26-Jan-2004 William Seligman
7 
8 // This class defines a "calibration" hit associated with the Calo
9 // simulation.
10 
11 #ifndef CaloSimEvent_CaloCalibrationHit_h
12 #define CaloSimEvent_CaloCalibrationHit_h
13 
14 #include "Identifier/Identifier.h"
15 
21 {
22  public:
23 
32  double energyEM,
33  double energyNonEM,
34  double energyInvisible,
35  double energyEscaped):
36  m_ID(id),
41  m_particleID(0)
42  {}
43 
53  double energyEM,
54  double energyNonEM,
55  double energyInvisible,
56  double energyEscaped,
57  unsigned int particleID):
58  m_ID(id),
64  {}
68  m_ID(Identifier()),
69  m_energy0(0.),
70  m_energy1(0.),
71  m_energy2(0.),
72  m_energy3(0.),
73  m_particleID(0)
74  {}
75 
78  : m_ID (cchSource.m_ID),
79  m_energy0 (cchSource.m_energy0),
80  m_energy1 (cchSource.m_energy1),
81  m_energy2 (cchSource.m_energy2),
82  m_energy3 (cchSource.m_energy3),
83  m_particleID (cchSource.m_particleID)
84  {
85  }
86 
89  {
90  if (this == &cchSource) return *this;
91  m_ID = cchSource.m_ID;
92  m_energy0 = cchSource.m_energy0;
93  m_energy1 = cchSource.m_energy1;
94  m_energy2 = cchSource.m_energy2;
95  m_energy3 = cchSource.m_energy3;
96  m_particleID = cchSource.m_particleID;
97  return *this;
98  }
99 
101  virtual ~CaloCalibrationHit() {}
102 
104  Identifier cellID() const { return m_ID; }
105 
107  double energyEM() const { return m_energy0; }
108 
110  double energyNonEM() const { return m_energy1; }
111 
113  double energyInvisible() const { return m_energy2; }
114 
116  double energyEscaped() const { return m_energy3; }
117 
119  double energyTotal() const
120  {
121  return
122  m_energy0 +
123  m_energy1 +
124  m_energy2 +
125  m_energy3;
126  }
127 
129  double energy( unsigned int i ) const
130  {
131  switch (i)
132  {
133  case 0: return m_energy0;
134  case 1: return m_energy1;
135  case 2: return m_energy2;
136  case 3: return m_energy3;
137  default: return 0.;
138  }
139  }
140 
142  unsigned int particleID() const { return m_particleID; }
143 
145  double operator() (unsigned int i) const { return energy(i); }
146 
148  bool Less(const CaloCalibrationHit* h) const
149  {
150  if(m_ID != h->m_ID){
151  return m_ID < h->m_ID;
152  }else{
153  return m_particleID < h->m_particleID;
154  }
155  }
156 
159  bool Equals(const CaloCalibrationHit& h) const {
160  return (m_ID == h.m_ID) && (m_particleID == h.m_particleID);
161  };
162  bool Equals(const CaloCalibrationHit* h) const {
163  return Equals (*h);
164  }
165 
167  void Add(const CaloCalibrationHit* h)
168  {
169  m_energy0 += h->m_energy0;
170  m_energy1 += h->m_energy1;
171  m_energy2 += h->m_energy2;
172  m_energy3 += h->m_energy3;
173  }
174 
175 private:
176 
179 
186  double m_energy0;
187  double m_energy1;
188  double m_energy2;
189  double m_energy3;
190 
192  unsigned int m_particleID;
193 };
194 
195 #endif // CaloSimEvent_CaloCalibrationHit_h
196 
CaloCalibrationHit::m_particleID
unsigned int m_particleID
identifier of Primary Particle which caused this hit
Definition: CaloCalibrationHit.h:192
CaloCalibrationHit::m_ID
Identifier m_ID
identifier of the cell in which this hit occured.
Definition: CaloCalibrationHit.h:178
CaloCalibrationHit::Equals
bool Equals(const CaloCalibrationHit &h) const
Calibration hits are ordered by values of their identifiers.
Definition: CaloCalibrationHit.h:159
CaloCalibrationHit::m_energy2
double m_energy2
Definition: CaloCalibrationHit.h:188
CaloCalibrationHit::energyNonEM
double energyNonEM() const
Definition: CaloCalibrationHit.h:110
CaloCalibrationHit::operator()
double operator()(unsigned int i) const
Definition: CaloCalibrationHit.h:145
CaloCalibrationHit::Add
void Add(const CaloCalibrationHit *h)
Method used for energy accumulation.
Definition: CaloCalibrationHit.h:167
CaloCalibrationHit::~CaloCalibrationHit
virtual ~CaloCalibrationHit()
Destructor.
Definition: CaloCalibrationHit.h:101
CaloCalibrationHit::CaloCalibrationHit
CaloCalibrationHit(Identifier id, double energyEM, double energyNonEM, double energyInvisible, double energyEscaped)
Standard constructor using identifer and energy by type.
Definition: CaloCalibrationHit.h:31
CaloCalibrationHit::energyEM
double energyEM() const
Definition: CaloCalibrationHit.h:107
CaloCalibrationHit::energyTotal
double energyTotal() const
Definition: CaloCalibrationHit.h:119
CaloCalibrationHit::m_energy3
double m_energy3
Definition: CaloCalibrationHit.h:189
CaloCalibrationHit::Equals
bool Equals(const CaloCalibrationHit *h) const
Definition: CaloCalibrationHit.h:162
lumiFormat.i
int i
Definition: lumiFormat.py:92
CaloCalibrationHit::particleID
unsigned int particleID() const
Definition: CaloCalibrationHit.h:142
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
CaloCalibrationHit::operator=
CaloCalibrationHit & operator=(const CaloCalibrationHit &cchSource)
Assignment operator.
Definition: CaloCalibrationHit.h:88
CaloCalibrationHit::CaloCalibrationHit
CaloCalibrationHit(const CaloCalibrationHit &cchSource)
Copy constructor.
Definition: CaloCalibrationHit.h:77
CaloCalibrationHit::energyInvisible
double energyInvisible() const
Definition: CaloCalibrationHit.h:113
CaloCalibrationHit::cellID
Identifier cellID() const
Definition: CaloCalibrationHit.h:104
CaloCalibrationHit::Less
bool Less(const CaloCalibrationHit *h) const
Calibration hits are ordered by values of their identifiers.
Definition: CaloCalibrationHit.h:148
CaloCalibrationHit
Class to store calorimeter calibration hit.
Definition: CaloCalibrationHit.h:21
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
CaloCalibrationHit::CaloCalibrationHit
CaloCalibrationHit(Identifier id, double energyEM, double energyNonEM, double energyInvisible, double energyEscaped, unsigned int particleID)
Standard constructor using identifer, energy by type and primary particle ID.
Definition: CaloCalibrationHit.h:52
CaloCalibrationHit::m_energy1
double m_energy1
Definition: CaloCalibrationHit.h:187
h
CaloCalibrationHit::energy
double energy(unsigned int i) const
Definition: CaloCalibrationHit.h:129
CaloCalibrationHit::m_energy0
double m_energy0
energies (in MeV) deposited in this hit.
Definition: CaloCalibrationHit.h:186
CaloCalibrationHit::CaloCalibrationHit
CaloCalibrationHit()
Default constructor; should never be used, but provided for some persistency services.
Definition: CaloCalibrationHit.h:67
CaloCalibrationHit::energyEscaped
double energyEscaped() const
Definition: CaloCalibrationHit.h:116