#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 () |
|
Definition at line 18 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 133 of file LUCID_DigitizationToolBox.cxx.
137 double npeTot = npeGas + npePmt;
144 double tdcTotSmeared = 0;
148 tdcTotSmeared = (npeTot) ? tdcTotSmeared/npeTot : tdcTotSmeared;
149 tdcTotSmeared = (tdcTotSmeared < 0) ? 0 : tdcTotSmeared;
151 m_tdc =
static_cast<unsigned int>(tdcTotSmeared);
162 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 260 of file LUCID_DigitizationToolBox.cxx.
262 if (npe < 20)
return CLHEP::RandPoissonQ::shoot(rndEngine, npe);
263 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 199 of file LUCID_DigitizationToolBox.cxx.
211 for (; hitIt != hitItE; ++hitIt) {
213 if (
m_tubeID != (*hitIt).GetTubeID())
continue;
215 if (!(*hitIt).isDetected(rndEngine))
continue;
217 if ((*hitIt).GetGenVolume() == 1)
m_npeGas++;
218 if ((*hitIt).GetGenVolume() == 2)
m_npeGas++;
219 if ((*hitIt).GetGenVolume() == 3)
m_npePmt++;
221 m_tdcTot += (*hitIt).GetPreStepTime();
227 return StatusCode::SUCCESS;
◆ fillDigitContainer() [2/2]
Definition at line 166 of file LUCID_DigitizationToolBox.cxx.
180 if (
m_tubeID != (*hitIt)->GetTubeID())
continue;
182 if (!(*hitIt)->isDetected(rndEngine))
continue;
184 if ((*hitIt)->GetGenVolume() == 1)
m_npeGas++;
185 if ((*hitIt)->GetGenVolume() == 2)
m_npeGas++;
186 if ((*hitIt)->GetGenVolume() == 3)
m_npePmt++;
188 m_tdcTot += (*hitIt)->GetPreStepTime();
194 return StatusCode::SUCCESS;
◆ getDebugTree()
TTree* LUCID_DigitizationToolBox::getDebugTree |
( |
| ) |
|
|
inlineprotected |
◆ recordContainers()
◆ roundoff()
unsigned int LUCID_DigitizationToolBox::roundoff |
( |
double |
x | ) |
|
|
staticprotected |
Definition at line 122 of file LUCID_DigitizationToolBox.cxx.
124 assert(
x >= INT_MIN-0.5);
125 assert(
x <= INT_MAX+0.5);
127 if (
x >= 0)
return static_cast<int>(
x+0.5);
129 return static_cast<int>(
x-0.5);
◆ setDebugTree()
StatusCode LUCID_DigitizationToolBox::setDebugTree |
( |
| ) |
|
Definition at line 101 of file LUCID_DigitizationToolBox.cxx.
102 SmartIF<ITHistSvc> digitHistSvc{Gaudi::svcLocator()->service(
"THistSvc")};
103 if (!digitHistSvc) {
return StatusCode::FAILURE; }
105 m_tubeInfo =
new TTree(
"t",
"LUCID_LUMI_SUMMARY");
109 if (
sc.isFailure())
return StatusCode::FAILURE;
118 return StatusCode::SUCCESS;
◆ 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: