#include <LUCID_DigitizationToolBox.h>
|
| 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 (ITHistSvc *) |
|
Definition at line 19 of file LUCID_DigitizationToolBox.h.
◆ LUCID_DigitizationToolBox() [1/2]
LUCID_DigitizationToolBox::LUCID_DigitizationToolBox |
( |
| ) |
|
◆ 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 |
|
) |
| |
◆ createAndStoreDigit()
StatusCode LUCID_DigitizationToolBox::createAndStoreDigit |
( |
unsigned short |
tubeID, |
|
|
CLHEP::HepRandomEngine * |
rndEngine |
|
) |
| |
|
protected |
Definition at line 129 of file LUCID_DigitizationToolBox.cxx.
133 double npeTot = npeGas + npePmt;
140 double tdcTotSmeared = 0;
144 tdcTotSmeared = (npeTot) ? tdcTotSmeared/npeTot : tdcTotSmeared;
145 tdcTotSmeared = (tdcTotSmeared < 0) ? 0 : tdcTotSmeared;
147 m_tdc =
static_cast<unsigned int>(tdcTotSmeared);
158 return StatusCode::SUCCESS;
◆ DynodeChainSimulation()
double LUCID_DigitizationToolBox::DynodeChainSimulation |
( |
double |
npe, |
|
|
CLHEP::HepRandomEngine * |
rndEngine |
|
) |
| const |
|
protected |
◆ DynodeGainSmearing()
double LUCID_DigitizationToolBox::DynodeGainSmearing |
( |
double |
npe, |
|
|
CLHEP::HepRandomEngine * |
rndEngine |
|
) |
| |
|
staticprotected |
Definition at line 256 of file LUCID_DigitizationToolBox.cxx.
258 if (npe < 20)
return CLHEP::RandPoissonQ::shoot(rndEngine, npe);
259 else return CLHEP::RandGaussQ::shoot (rndEngine, npe, std::sqrt(npe));
◆ fillDigitContainer() [1/2]
StatusCode LUCID_DigitizationToolBox::fillDigitContainer |
( |
LUCID_SimHitCollection * |
thpclucid, |
|
|
CLHEP::HepRandomEngine * |
rndEngine |
|
) |
| |
Definition at line 195 of file LUCID_DigitizationToolBox.cxx.
207 for (; hitIt != hitItE; ++hitIt) {
209 if (
m_tubeID != (*hitIt).GetTubeID())
continue;
211 if (!(*hitIt).isDetected(rndEngine))
continue;
213 if ((*hitIt).GetGenVolume() == 1)
m_npeGas++;
214 if ((*hitIt).GetGenVolume() == 2)
m_npeGas++;
215 if ((*hitIt).GetGenVolume() == 3)
m_npePmt++;
217 m_tdcTot += (*hitIt).GetPreStepTime();
223 return StatusCode::SUCCESS;
◆ fillDigitContainer() [2/2]
Definition at line 162 of file LUCID_DigitizationToolBox.cxx.
176 if (
m_tubeID != (*hitIt)->GetTubeID())
continue;
178 if (!(*hitIt)->isDetected(rndEngine))
continue;
180 if ((*hitIt)->GetGenVolume() == 1)
m_npeGas++;
181 if ((*hitIt)->GetGenVolume() == 2)
m_npeGas++;
182 if ((*hitIt)->GetGenVolume() == 3)
m_npePmt++;
184 m_tdcTot += (*hitIt)->GetPreStepTime();
190 return StatusCode::SUCCESS;
◆ getDebugTree()
TTree* LUCID_DigitizationToolBox::getDebugTree |
( |
| ) |
|
|
inlineprotected |
◆ recordContainers()
◆ roundoff()
unsigned int LUCID_DigitizationToolBox::roundoff |
( |
double |
x | ) |
|
|
staticprotected |
Definition at line 118 of file LUCID_DigitizationToolBox.cxx.
120 assert(
x >= INT_MIN-0.5);
121 assert(
x <= INT_MAX+0.5);
123 if (
x >= 0)
return static_cast<int>(
x+0.5);
125 return static_cast<int>(
x-0.5);
◆ setDebugTree()
StatusCode LUCID_DigitizationToolBox::setDebugTree |
( |
ITHistSvc * |
digitHistSvc | ) |
|
◆ m_AmpFactor
double LUCID_DigitizationToolBox::m_AmpFactor {} |
|
protected |
◆ m_ChargeToQdcFactor
double LUCID_DigitizationToolBox::m_ChargeToQdcFactor {} |
|
protected |
◆ m_digitContainer
◆ m_dynodeGammaFactor
double LUCID_DigitizationToolBox::m_dynodeGammaFactor {} |
|
protected |
◆ m_fillRootTree
bool LUCID_DigitizationToolBox::m_fillRootTree {} |
|
protected |
◆ m_gainPerDynode
double LUCID_DigitizationToolBox::m_gainPerDynode {} |
|
protected |
◆ m_gasScaling
std::vector<double> LUCID_DigitizationToolBox::m_gasScaling {} |
|
protected |
◆ m_NoiseCharge
int LUCID_DigitizationToolBox::m_NoiseCharge {} |
|
protected |
◆ m_npe
double LUCID_DigitizationToolBox::m_npe {} |
|
protected |
◆ m_npeGas
unsigned short LUCID_DigitizationToolBox::m_npeGas {} |
|
protected |
◆ m_npePmt
unsigned short LUCID_DigitizationToolBox::m_npePmt {} |
|
protected |
◆ m_npeThreshold
std::vector<double> LUCID_DigitizationToolBox::m_npeThreshold {} |
|
protected |
◆ m_numDyinodes
int LUCID_DigitizationToolBox::m_numDyinodes {} |
|
protected |
◆ m_numTubes
int LUCID_DigitizationToolBox::m_numTubes {} |
|
protected |
◆ m_pmtScaling
std::vector<double> LUCID_DigitizationToolBox::m_pmtScaling {} |
|
protected |
◆ m_pmtSmearing
std::vector<double> LUCID_DigitizationToolBox::m_pmtSmearing {} |
|
protected |
◆ m_Q1bin
double LUCID_DigitizationToolBox::m_Q1bin {} |
|
protected |
◆ m_qdc
unsigned short LUCID_DigitizationToolBox::m_qdc {} |
|
protected |
◆ m_qdcChannelsPerPE
double LUCID_DigitizationToolBox::m_qdcChannelsPerPE {} |
|
protected |
◆ m_qdcFedNoiseFactor
double LUCID_DigitizationToolBox::m_qdcFedNoiseFactor {} |
|
protected |
◆ m_qdcPedestal
double LUCID_DigitizationToolBox::m_qdcPedestal {} |
|
protected |
◆ m_tdc
unsigned short LUCID_DigitizationToolBox::m_tdc {} |
|
protected |
◆ m_tdcFedNoiseFactor
double LUCID_DigitizationToolBox::m_tdcFedNoiseFactor {} |
|
protected |
◆ m_tdcPmtNoiseFactor
double LUCID_DigitizationToolBox::m_tdcPmtNoiseFactor {} |
|
protected |
◆ m_tdcTot
double LUCID_DigitizationToolBox::m_tdcTot {} |
|
protected |
◆ m_TotalPMTgain
double LUCID_DigitizationToolBox::m_TotalPMTgain {} |
|
protected |
◆ m_tubeID
unsigned short LUCID_DigitizationToolBox::m_tubeID {} |
|
protected |
◆ m_tubeInfo
TTree* LUCID_DigitizationToolBox::m_tubeInfo {} |
|
protected |
The documentation for this class was generated from the following files: