ATLAS Offline Software
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
LUCID_DigitizationToolBox Class Reference

#include <LUCID_DigitizationToolBox.h>

Inheritance diagram for LUCID_DigitizationToolBox:
Collaboration diagram for LUCID_DigitizationToolBox:

Public Member Functions

 LUCID_DigitizationToolBox ()
 
 LUCID_DigitizationToolBox (int numTubes, double qdcChannelsPerPE, double qdcPedestal, double qdcFedNoiseFactor, double tdcPmtNoiseFactor, double tdcFedNoiseFactor, double TotalPMTgain, double AmpFactor, double Q1bin, int NoiseCharge, int numDyinodes, double dynodeGammaFactor, std::vector< double > pmtSmearing, std::vector< double > pmtScaling, std::vector< double > gasScaling, std::vector< double > npeThreshold, bool fillRootTree)
 
StatusCode recordContainers (const ServiceHandle< StoreGateSvc > &, const std::string &)
 
StatusCode fillDigitContainer (TimedHitCollection< LUCID_SimHit > &, CLHEP::HepRandomEngine *)
 
StatusCode fillDigitContainer (LUCID_SimHitCollection *, CLHEP::HepRandomEngine *)
 
StatusCode setDebugTree ()
 

Protected Member Functions

TTree * getDebugTree ()
 
StatusCode createAndStoreDigit (unsigned short tubeID, CLHEP::HepRandomEngine *rndEngine)
 
double DynodeChainSimulation (double npe, CLHEP::HepRandomEngine *rndEngine) const
 

Static Protected Member Functions

static unsigned int roundoff (double x)
 
static double DynodeGainSmearing (double npe, CLHEP::HepRandomEngine *rndEngine)
 

Protected Attributes

LUCID_DigitContainerm_digitContainer {}
 
int m_numTubes {}
 
double m_qdcChannelsPerPE {}
 
double m_qdcPedestal {}
 
double m_qdcFedNoiseFactor {}
 
double m_tdcPmtNoiseFactor {}
 
double m_tdcFedNoiseFactor {}
 
double m_TotalPMTgain {}
 
double m_AmpFactor {}
 
double m_Q1bin {}
 
int m_NoiseCharge {}
 
int m_numDyinodes {}
 
double m_dynodeGammaFactor {}
 
double m_gainPerDynode {}
 
double m_ChargeToQdcFactor {}
 
std::vector< double > m_pmtSmearing {}
 
std::vector< double > m_pmtScaling {}
 
std::vector< double > m_gasScaling {}
 
std::vector< double > m_npeThreshold {}
 
bool m_fillRootTree {}
 
unsigned short m_tubeID {}
 
double m_npe {}
 
unsigned short m_npeGas {}
 
unsigned short m_npePmt {}
 
unsigned short m_qdc {}
 
double m_tdcTot {}
 
unsigned short m_tdc {}
 
TTree * m_tubeInfo {}
 

Detailed Description

Definition at line 18 of file LUCID_DigitizationToolBox.h.

Constructor & Destructor Documentation

◆ LUCID_DigitizationToolBox() [1/2]

LUCID_DigitizationToolBox::LUCID_DigitizationToolBox ( )

Definition at line 19 of file LUCID_DigitizationToolBox.cxx.

19  :
20  m_tubeID(0),
21  m_npe (0),
22  m_npeGas(0),
23  m_npePmt(0),
24  m_qdc (0),
25  m_tdcTot(0),
26  m_tdc (0)
27 {
28  m_digitContainer = nullptr;
29  m_tubeInfo = nullptr;
30 
31  m_numTubes = 0;
33  m_qdcPedestal = 0;
37 
38  m_TotalPMTgain = 0;
39  m_AmpFactor = 0;
40  m_Q1bin = 0;
41  m_NoiseCharge = 0;
42  m_numDyinodes = 0;
44  m_gainPerDynode = 0;
46 
47  m_fillRootTree = 0;
48 }

◆ LUCID_DigitizationToolBox() [2/2]

LUCID_DigitizationToolBox::LUCID_DigitizationToolBox ( int  numTubes,
double  qdcChannelsPerPE,
double  qdcPedestal,
double  qdcFedNoiseFactor,
double  tdcPmtNoiseFactor,
double  tdcFedNoiseFactor,
double  TotalPMTgain,
double  AmpFactor,
double  Q1bin,
int  NoiseCharge,
int  numDyinodes,
double  dynodeGammaFactor,
std::vector< double >  pmtSmearing,
std::vector< double >  pmtScaling,
std::vector< double >  gasScaling,
std::vector< double >  npeThreshold,
bool  fillRootTree 
)

Definition at line 51 of file LUCID_DigitizationToolBox.cxx.

67  :
68  m_numTubes (numTubes),
69  m_qdcChannelsPerPE (qdcChannelsPerPE),
70  m_qdcPedestal (qdcPedestal),
71  m_qdcFedNoiseFactor (qdcFedNoiseFactor),
72  m_tdcPmtNoiseFactor (tdcPmtNoiseFactor),
73  m_tdcFedNoiseFactor (tdcFedNoiseFactor),
74  m_TotalPMTgain (TotalPMTgain),
75  m_AmpFactor (AmpFactor),
76  m_Q1bin (Q1bin),
77  m_NoiseCharge (NoiseCharge),
78  m_numDyinodes (numDyinodes),
79  m_dynodeGammaFactor (dynodeGammaFactor),
80  m_pmtSmearing (std::move(pmtSmearing)),
81  m_pmtScaling (std::move(pmtScaling)),
82  m_gasScaling (std::move(gasScaling)),
83  m_npeThreshold (std::move(npeThreshold)),
84  m_fillRootTree (fillRootTree),
85  m_tubeID (0),
86  m_npe (0),
87  m_npeGas (0),
88  m_npePmt (0),
89  m_qdc (0),
90  m_tdcTot (0),
91  m_tdc (0)
92 {
95 
96  m_digitContainer = nullptr;
97  m_tubeInfo = nullptr;
98 }

Member Function Documentation

◆ createAndStoreDigit()

StatusCode LUCID_DigitizationToolBox::createAndStoreDigit ( unsigned short  tubeID,
CLHEP::HepRandomEngine *  rndEngine 
)
protected

Definition at line 133 of file LUCID_DigitizationToolBox.cxx.

133  {
134 
135  double npePmt = m_npePmt * m_pmtScaling[tubeID] * CLHEP::RandGaussQ::shoot(rndEngine, 1, m_pmtSmearing[tubeID]);
136  double npeGas = m_npeGas * m_gasScaling[tubeID];
137  double npeTot = npeGas + npePmt;
138  double qdcSmeared = DynodeChainSimulation(npeTot, rndEngine);
139 
140  m_qdc = roundoff(qdcSmeared);
141 
143 
144  double tdcTotSmeared = 0;
145 
146  tdcTotSmeared = CLHEP::RandGaussQ::shoot(rndEngine, m_tdcTot , m_tdcPmtNoiseFactor);
147  tdcTotSmeared = CLHEP::RandGaussQ::shoot(rndEngine, tdcTotSmeared, m_tdcFedNoiseFactor);
148  tdcTotSmeared = (npeTot) ? tdcTotSmeared/npeTot : tdcTotSmeared;
149  tdcTotSmeared = (tdcTotSmeared < 0) ? 0 : tdcTotSmeared;
150 
151  m_tdc = static_cast<unsigned int>(tdcTotSmeared);
152 
153  if (m_fillRootTree) m_tubeInfo->Fill();
154 
156  m_npe,
157  m_npeGas,
158  m_npePmt,
159  m_qdc,
160  m_tdc,
161  m_npe > m_npeThreshold[tubeID]));
162  return StatusCode::SUCCESS;
163 }

◆ DynodeChainSimulation()

double LUCID_DigitizationToolBox::DynodeChainSimulation ( double  npe,
CLHEP::HepRandomEngine *  rndEngine 
) const
protected

Definition at line 242 of file LUCID_DigitizationToolBox.cxx.

242  {
243 
244  double smearedQDC = 0;
245 
246  if (npe == 0) return CLHEP::RandGaussQ::shoot(rndEngine, npe, m_ChargeToQdcFactor * m_NoiseCharge) + m_qdcPedestal;
247 
248  for (int i_pe=1; i_pe <= m_numDyinodes; i_pe++ ) {
249 
250  if (i_pe == 1) smearedQDC = DynodeGainSmearing(npe * m_gainPerDynode * m_dynodeGammaFactor, rndEngine);
251  else smearedQDC = DynodeGainSmearing(smearedQDC * m_gainPerDynode , rndEngine);
252  }
253 
254  smearedQDC = smearedQDC*m_ChargeToQdcFactor;
255 
256  return static_cast<double>(CLHEP::RandGaussQ::shoot(rndEngine, smearedQDC, m_NoiseCharge * m_ChargeToQdcFactor)) + m_qdcPedestal;
257 }

◆ DynodeGainSmearing()

double LUCID_DigitizationToolBox::DynodeGainSmearing ( double  npe,
CLHEP::HepRandomEngine *  rndEngine 
)
staticprotected

Definition at line 260 of file LUCID_DigitizationToolBox.cxx.

260  {
261 
262  if (npe < 20) return CLHEP::RandPoissonQ::shoot(rndEngine, npe);
263  else return CLHEP::RandGaussQ::shoot (rndEngine, npe, std::sqrt(npe));
264 }

◆ fillDigitContainer() [1/2]

StatusCode LUCID_DigitizationToolBox::fillDigitContainer ( LUCID_SimHitCollection thpclucid,
CLHEP::HepRandomEngine *  rndEngine 
)

Definition at line 199 of file LUCID_DigitizationToolBox.cxx.

199  {
200 
201  for (m_tubeID = 0; m_tubeID < m_numTubes; m_tubeID++) {
202 
203  if (m_tubeID >= 16 && m_tubeID <= 19) continue; // skip fiber tubes on sideA
204  if (m_tubeID >= 36 && m_tubeID <= 39) continue; // skip fiber tubes on sideC
205 
206  m_npe = m_npeGas = m_npePmt = m_qdc = m_tdc = m_tdcTot = 0;
207 
208  LUCID_SimHitCollection::const_iterator hitIt = thpclucid->begin();
209  LUCID_SimHitCollection::const_iterator hitItE = thpclucid->end();
210 
211  for (; hitIt != hitItE; ++hitIt) {
212 
213  if (m_tubeID != (*hitIt).GetTubeID()) continue;
214 
215  if (!(*hitIt).isDetected(rndEngine)) continue; // applying quantum efficiency
216 
217  if ((*hitIt).GetGenVolume() == 1) m_npeGas++;
218  if ((*hitIt).GetGenVolume() == 2) m_npeGas++;
219  if ((*hitIt).GetGenVolume() == 3) m_npePmt++;
220 
221  m_tdcTot += (*hitIt).GetPreStepTime();
222  }
223 
224  if (createAndStoreDigit(m_tubeID, rndEngine).isFailure()) return StatusCode::FAILURE;
225  }
226 
227  return StatusCode::SUCCESS;
228 }

◆ fillDigitContainer() [2/2]

StatusCode LUCID_DigitizationToolBox::fillDigitContainer ( TimedHitCollection< LUCID_SimHit > &  thpclucid,
CLHEP::HepRandomEngine *  rndEngine 
)

Definition at line 166 of file LUCID_DigitizationToolBox.cxx.

166  {
167 
168  for (m_tubeID = 0; m_tubeID < m_numTubes; m_tubeID++) {
169 
170  if (m_tubeID >= 16 && m_tubeID <= 19) continue; // skip fiber tubes on sideA
171  if (m_tubeID >= 36 && m_tubeID <= 39) continue; // skip fiber tubes on sideC
172 
173  m_npe = m_npeGas = m_npePmt = m_qdc = m_tdc = m_tdcTot = 0;
174 
175  TimedHitCollection<LUCID_SimHit> thpc = thpclucid;
177 
178  while (thpc.nextDetectorElement(i, e)) for (hitIt = i; hitIt != e; ++hitIt) {
179 
180  if (m_tubeID != (*hitIt)->GetTubeID()) continue;
181 
182  if (!(*hitIt)->isDetected(rndEngine)) continue; // applying quantum efficiency
183 
184  if ((*hitIt)->GetGenVolume() == 1) m_npeGas++;
185  if ((*hitIt)->GetGenVolume() == 2) m_npeGas++;
186  if ((*hitIt)->GetGenVolume() == 3) m_npePmt++;
187 
188  m_tdcTot += (*hitIt)->GetPreStepTime();
189  }
190 
191  if (createAndStoreDigit(m_tubeID, rndEngine).isFailure()) return StatusCode::FAILURE;
192  }
193 
194  return StatusCode::SUCCESS;
195 
196 }

◆ getDebugTree()

TTree* LUCID_DigitizationToolBox::getDebugTree ( )
inlineprotected

Definition at line 50 of file LUCID_DigitizationToolBox.h.

50 { return m_tubeInfo; }

◆ recordContainers()

StatusCode LUCID_DigitizationToolBox::recordContainers ( const ServiceHandle< StoreGateSvc > &  digitsStore,
const std::string &  key_digitCnt 
)

Definition at line 232 of file LUCID_DigitizationToolBox.cxx.

232  {
233 
235 
236  StatusCode sc = digitsStore->record(m_digitContainer, key_digitCnt);
237 
238  return sc;
239 }

◆ roundoff()

unsigned int LUCID_DigitizationToolBox::roundoff ( double  x)
staticprotected

Definition at line 122 of file LUCID_DigitizationToolBox.cxx.

122  {
123 
124  assert(x >= INT_MIN-0.5);
125  assert(x <= INT_MAX+0.5);
126 
127  if (x >= 0) return static_cast<int>(x+0.5);
128 
129  return static_cast<int>(x-0.5);
130 }

◆ setDebugTree()

StatusCode LUCID_DigitizationToolBox::setDebugTree ( )

Definition at line 101 of file LUCID_DigitizationToolBox.cxx.

101  {
102  SmartIF<ITHistSvc> digitHistSvc{Gaudi::svcLocator()->service("THistSvc")};
103  if (!digitHistSvc) { return StatusCode::FAILURE; }
104 
105  m_tubeInfo = new TTree("t", "LUCID_LUMI_SUMMARY");
106 
107  StatusCode sc = digitHistSvc->regTree("/AANT/LUCID_LUMI_SUMMARY", m_tubeInfo);
108 
109  if (sc.isFailure()) return StatusCode::FAILURE;
110 
111  m_tubeInfo->Branch("tubeID", &m_tubeID, "tubeID/s");
112  m_tubeInfo->Branch("npe" , &m_npe , "npe/D");
113  m_tubeInfo->Branch("npeGas", &m_npeGas, "npeGas/s");
114  m_tubeInfo->Branch("npePmt", &m_npePmt, "npePmt/s");
115  m_tubeInfo->Branch("qdc" , &m_qdc , "qdc/s");
116  m_tubeInfo->Branch("tdc" , &m_tdc , "tdc/s");
117 
118  return StatusCode::SUCCESS;
119 }

Member Data Documentation

◆ m_AmpFactor

double LUCID_DigitizationToolBox::m_AmpFactor {}
protected

Definition at line 69 of file LUCID_DigitizationToolBox.h.

◆ m_ChargeToQdcFactor

double LUCID_DigitizationToolBox::m_ChargeToQdcFactor {}
protected

Definition at line 76 of file LUCID_DigitizationToolBox.h.

◆ m_digitContainer

LUCID_DigitContainer* LUCID_DigitizationToolBox::m_digitContainer {}
protected

Definition at line 59 of file LUCID_DigitizationToolBox.h.

◆ m_dynodeGammaFactor

double LUCID_DigitizationToolBox::m_dynodeGammaFactor {}
protected

Definition at line 73 of file LUCID_DigitizationToolBox.h.

◆ m_fillRootTree

bool LUCID_DigitizationToolBox::m_fillRootTree {}
protected

Definition at line 83 of file LUCID_DigitizationToolBox.h.

◆ m_gainPerDynode

double LUCID_DigitizationToolBox::m_gainPerDynode {}
protected

Definition at line 75 of file LUCID_DigitizationToolBox.h.

◆ m_gasScaling

std::vector<double> LUCID_DigitizationToolBox::m_gasScaling {}
protected

Definition at line 80 of file LUCID_DigitizationToolBox.h.

◆ m_NoiseCharge

int LUCID_DigitizationToolBox::m_NoiseCharge {}
protected

Definition at line 71 of file LUCID_DigitizationToolBox.h.

◆ m_npe

double LUCID_DigitizationToolBox::m_npe {}
protected

Definition at line 86 of file LUCID_DigitizationToolBox.h.

◆ m_npeGas

unsigned short LUCID_DigitizationToolBox::m_npeGas {}
protected

Definition at line 87 of file LUCID_DigitizationToolBox.h.

◆ m_npePmt

unsigned short LUCID_DigitizationToolBox::m_npePmt {}
protected

Definition at line 88 of file LUCID_DigitizationToolBox.h.

◆ m_npeThreshold

std::vector<double> LUCID_DigitizationToolBox::m_npeThreshold {}
protected

Definition at line 81 of file LUCID_DigitizationToolBox.h.

◆ m_numDyinodes

int LUCID_DigitizationToolBox::m_numDyinodes {}
protected

Definition at line 72 of file LUCID_DigitizationToolBox.h.

◆ m_numTubes

int LUCID_DigitizationToolBox::m_numTubes {}
protected

Definition at line 61 of file LUCID_DigitizationToolBox.h.

◆ m_pmtScaling

std::vector<double> LUCID_DigitizationToolBox::m_pmtScaling {}
protected

Definition at line 79 of file LUCID_DigitizationToolBox.h.

◆ m_pmtSmearing

std::vector<double> LUCID_DigitizationToolBox::m_pmtSmearing {}
protected

Definition at line 78 of file LUCID_DigitizationToolBox.h.

◆ m_Q1bin

double LUCID_DigitizationToolBox::m_Q1bin {}
protected

Definition at line 70 of file LUCID_DigitizationToolBox.h.

◆ m_qdc

unsigned short LUCID_DigitizationToolBox::m_qdc {}
protected

Definition at line 89 of file LUCID_DigitizationToolBox.h.

◆ m_qdcChannelsPerPE

double LUCID_DigitizationToolBox::m_qdcChannelsPerPE {}
protected

Definition at line 62 of file LUCID_DigitizationToolBox.h.

◆ m_qdcFedNoiseFactor

double LUCID_DigitizationToolBox::m_qdcFedNoiseFactor {}
protected

Definition at line 64 of file LUCID_DigitizationToolBox.h.

◆ m_qdcPedestal

double LUCID_DigitizationToolBox::m_qdcPedestal {}
protected

Definition at line 63 of file LUCID_DigitizationToolBox.h.

◆ m_tdc

unsigned short LUCID_DigitizationToolBox::m_tdc {}
protected

Definition at line 91 of file LUCID_DigitizationToolBox.h.

◆ m_tdcFedNoiseFactor

double LUCID_DigitizationToolBox::m_tdcFedNoiseFactor {}
protected

Definition at line 66 of file LUCID_DigitizationToolBox.h.

◆ m_tdcPmtNoiseFactor

double LUCID_DigitizationToolBox::m_tdcPmtNoiseFactor {}
protected

Definition at line 65 of file LUCID_DigitizationToolBox.h.

◆ m_tdcTot

double LUCID_DigitizationToolBox::m_tdcTot {}
protected

Definition at line 90 of file LUCID_DigitizationToolBox.h.

◆ m_TotalPMTgain

double LUCID_DigitizationToolBox::m_TotalPMTgain {}
protected

Definition at line 68 of file LUCID_DigitizationToolBox.h.

◆ m_tubeID

unsigned short LUCID_DigitizationToolBox::m_tubeID {}
protected

Definition at line 85 of file LUCID_DigitizationToolBox.h.

◆ m_tubeInfo

TTree* LUCID_DigitizationToolBox::m_tubeInfo {}
protected

Definition at line 93 of file LUCID_DigitizationToolBox.h.


The documentation for this class was generated from the following files:
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
LUCID_DigitizationToolBox::m_numTubes
int m_numTubes
Definition: LUCID_DigitizationToolBox.h:61
LUCID_DigitizationToolBox::DynodeGainSmearing
static double DynodeGainSmearing(double npe, CLHEP::HepRandomEngine *rndEngine)
Definition: LUCID_DigitizationToolBox.cxx:260
LUCID_DigitizationToolBox::m_gainPerDynode
double m_gainPerDynode
Definition: LUCID_DigitizationToolBox.h:75
LUCID_DigitContainer
Definition: LUCID_DigitContainer.h:13
LUCID_DigitizationToolBox::m_pmtSmearing
std::vector< double > m_pmtSmearing
Definition: LUCID_DigitizationToolBox.h:78
LUCID_DigitizationToolBox::m_gasScaling
std::vector< double > m_gasScaling
Definition: LUCID_DigitizationToolBox.h:80
LUCID_DigitizationToolBox::m_tdc
unsigned short m_tdc
Definition: LUCID_DigitizationToolBox.h:91
LUCID_DigitizationToolBox::m_tdcFedNoiseFactor
double m_tdcFedNoiseFactor
Definition: LUCID_DigitizationToolBox.h:66
AtlasHitsVector::begin
const_iterator begin() const
Definition: AtlasHitsVector.h:131
x
#define x
TimedHitCollection::nextDetectorElement
bool nextDetectorElement(const_iterator &b, const_iterator &e)
sets an iterator range with the hits of current detector element returns a bool when done
AtlasHitsVector::const_iterator
CONT::const_iterator const_iterator
Definition: AtlasHitsVector.h:43
LUCID_DigitizationToolBox::m_digitContainer
LUCID_DigitContainer * m_digitContainer
Definition: LUCID_DigitizationToolBox.h:59
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
LUCID_DigitizationToolBox::m_tdcTot
double m_tdcTot
Definition: LUCID_DigitizationToolBox.h:90
LUCID_DigitizationToolBox::m_npe
double m_npe
Definition: LUCID_DigitizationToolBox.h:86
LUCID_DigitizationToolBox::m_tubeInfo
TTree * m_tubeInfo
Definition: LUCID_DigitizationToolBox.h:93
LUCID_DigitizationToolBox::m_fillRootTree
bool m_fillRootTree
Definition: LUCID_DigitizationToolBox.h:83
LUCID_Digit
Definition: LUCID_Digit.h:8
lumiFormat.i
int i
Definition: lumiFormat.py:85
LUCID_DigitizationToolBox::m_Q1bin
double m_Q1bin
Definition: LUCID_DigitizationToolBox.h:70
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LUCID_DigitizationToolBox::createAndStoreDigit
StatusCode createAndStoreDigit(unsigned short tubeID, CLHEP::HepRandomEngine *rndEngine)
Definition: LUCID_DigitizationToolBox.cxx:133
LUCID_DigitizationToolBox::m_npePmt
unsigned short m_npePmt
Definition: LUCID_DigitizationToolBox.h:88
LUCID_DigitizationToolBox::m_dynodeGammaFactor
double m_dynodeGammaFactor
Definition: LUCID_DigitizationToolBox.h:73
LUCID_DigitizationToolBox::m_TotalPMTgain
double m_TotalPMTgain
Definition: LUCID_DigitizationToolBox.h:68
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
LUCID_DigitizationToolBox::roundoff
static unsigned int roundoff(double x)
Definition: LUCID_DigitizationToolBox.cxx:122
LUCID_DigitizationToolBox::m_qdc
unsigned short m_qdc
Definition: LUCID_DigitizationToolBox.h:89
LUCID_DigitizationToolBox::m_ChargeToQdcFactor
double m_ChargeToQdcFactor
Definition: LUCID_DigitizationToolBox.h:76
LUCID_DigitizationToolBox::m_NoiseCharge
int m_NoiseCharge
Definition: LUCID_DigitizationToolBox.h:71
LUCID_DigitizationToolBox::m_qdcPedestal
double m_qdcPedestal
Definition: LUCID_DigitizationToolBox.h:63
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
LUCID_DigitizationToolBox::m_tubeID
unsigned short m_tubeID
Definition: LUCID_DigitizationToolBox.h:85
LUCID_DigitizationToolBox::m_npeThreshold
std::vector< double > m_npeThreshold
Definition: LUCID_DigitizationToolBox.h:81
LUCID_DigitizationToolBox::m_qdcChannelsPerPE
double m_qdcChannelsPerPE
Definition: LUCID_DigitizationToolBox.h:62
LUCID_DigitizationToolBox::m_tdcPmtNoiseFactor
double m_tdcPmtNoiseFactor
Definition: LUCID_DigitizationToolBox.h:65
AtlasHitsVector::end
const_iterator end() const
Definition: AtlasHitsVector.h:134
LUCID_DigitizationToolBox::m_npeGas
unsigned short m_npeGas
Definition: LUCID_DigitizationToolBox.h:87
TimedHitCollection::const_iterator
TimedVector::const_iterator const_iterator
Definition: TimedHitCollection.h:20
LUCID_DigitizationToolBox::m_numDyinodes
int m_numDyinodes
Definition: LUCID_DigitizationToolBox.h:72
LUCID_DigitizationToolBox::m_AmpFactor
double m_AmpFactor
Definition: LUCID_DigitizationToolBox.h:69
LUCID_DigitizationToolBox::DynodeChainSimulation
double DynodeChainSimulation(double npe, CLHEP::HepRandomEngine *rndEngine) const
Definition: LUCID_DigitizationToolBox.cxx:242
LUCID_DigitizationToolBox::m_pmtScaling
std::vector< double > m_pmtScaling
Definition: LUCID_DigitizationToolBox.h:79
pow
constexpr int pow(int base, int exp) noexcept
Definition: ap_fixedTest.cxx:15
LUCID_DigitizationToolBox::m_qdcFedNoiseFactor
double m_qdcFedNoiseFactor
Definition: LUCID_DigitizationToolBox.h:64
TimedHitCollection
Definition: TimedHitCollection.h:15