A general implementation for the response of a SiPM. More...
#include <HcalSiPM.h>
Public Member Functions | |
double | getCrossTalk () const |
int | getNCells () const |
double | getTau () const |
double | getTempDep () const |
HcalSiPM (int nCells=1, double tau=15.) | |
virtual double | hitCells (CLHEP::HepRandomEngine *, unsigned int pes, double tempDiff=0., double photonTime=0.) |
void | resetSiPM () |
void | setCrossTalk (double xtalk) |
void | setNCells (int nCells) |
void | setSaturationPars (const std::vector< float > &pars) |
void | setTau (double tau) |
void | setTemperatureDependence (double tempDep) |
virtual double | totalCharge () const |
virtual double | totalCharge (double time) const |
virtual | ~HcalSiPM () |
Protected Types | |
typedef std::unordered_map < unsigned int, cdfpair > | cdfmap |
typedef std::pair< unsigned int, std::vector< double > > | cdfpair |
Protected Member Functions | |
unsigned int | addCrossTalkCells (CLHEP::HepRandomEngine *engine, unsigned int in_pes) |
double | Borel (unsigned int n, double lambda, unsigned int k) |
const cdfpair & | BorelCDF (unsigned int k) |
double | cellCharge (double deltaTime) const |
Protected Attributes | |
cdfmap | borelcdfs |
HcalSiPMnonlinearity * | nonlin |
unsigned int | theCellCount |
double | theCrossTalk |
double | theLastHitTime |
std::vector< double > | theSiPM |
double | theTau |
double | theTauInv |
double | theTempDep |
A general implementation for the response of a SiPM.
Definition at line 22 of file HcalSiPM.h.
|
protected |
Definition at line 47 of file HcalSiPM.h.
|
protected |
Definition at line 46 of file HcalSiPM.h.
HcalSiPM::HcalSiPM | ( | int | nCells = 1 , |
double | tau = 15. |
||
) |
Definition at line 14 of file HcalSiPM.cc.
References cms::cuda::assert(), resetSiPM(), setTau(), and theCellCount.
|
virtual |
|
protected |
Definition at line 84 of file HcalSiPM.cc.
References BorelCDF(), LogDebug, cuda_std::lower_bound(), and up.
Referenced by hitCells().
|
protected |
Definition at line 28 of file HcalSiPM.cc.
References b, funct::exp(), log, and funct::pow().
Referenced by BorelCDF().
|
protected |
Definition at line 47 of file HcalSiPM.cc.
References b, Borel(), borelcdfs, alignCSCRings::e, kinem::EPSILON, first, mps_fire::i, and theCrossTalk.
Referenced by addCrossTalkCells(), and setCrossTalk().
|
protected |
Definition at line 183 of file HcalSiPM.cc.
References funct::exp(), mps_fire::result, and theTauInv.
Referenced by hitCells(), and totalCharge().
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Definition at line 100 of file HcalSiPM.cc.
References addCrossTalkCells(), cellCharge(), digitizers_cfi::pixel, theCellCount, theCrossTalk, theLastHitTime, theSiPM, theTau, and theTempDep.
Referenced by HcalSiPMHitResponse::makeSiPMSignal().
|
inline |
Definition at line 28 of file HcalSiPM.h.
References PVValHelper::fill(), and theSiPM.
Referenced by HcalSiPM(), and setNCells().
void HcalSiPM::setCrossTalk | ( | double | xtalk | ) |
Definition at line 158 of file HcalSiPM.cc.
References BorelCDF(), borelcdfs, isotrackApplyRegressor::k, and theCrossTalk.
Referenced by HcalSiPMHitResponse::makeSiPMSignal().
void HcalSiPM::setNCells | ( | int | nCells | ) |
Definition at line 143 of file HcalSiPM.cc.
References cms::cuda::assert(), nCells, resetSiPM(), theCellCount, and theSiPM.
Referenced by HcalSiPMHitResponse::makeSiPMSignal().
void HcalSiPM::setSaturationPars | ( | const std::vector< float > & | pars | ) |
Definition at line 192 of file HcalSiPM.cc.
References nonlin.
Referenced by HcalSiPMHitResponse::makeSiPMSignal().
void HcalSiPM::setTau | ( | double | tau | ) |
Definition at line 150 of file HcalSiPM.cc.
References metsig::tau, theTau, and theTauInv.
Referenced by HcalSiPM(), and HcalSiPMHitResponse::makeSiPMSignal().
void HcalSiPM::setTemperatureDependence | ( | double | tempDep | ) |
|
inlinevirtual |
Definition at line 31 of file HcalSiPM.h.
References theLastHitTime, and totalCharge().
Referenced by totalCharge().
|
virtual |
Definition at line 132 of file HcalSiPM.cc.
References cellCharge(), mps_fire::i, theCellCount, theSiPM, and compareTotals::tot.
|
protected |
Definition at line 68 of file HcalSiPM.h.
Referenced by BorelCDF(), and setCrossTalk().
|
protected |
Definition at line 66 of file HcalSiPM.h.
Referenced by setSaturationPars(), and ~HcalSiPM().
|
protected |
Definition at line 58 of file HcalSiPM.h.
Referenced by getNCells(), HcalSiPM(), hitCells(), setNCells(), and totalCharge().
|
protected |
Definition at line 62 of file HcalSiPM.h.
Referenced by BorelCDF(), getCrossTalk(), hitCells(), and setCrossTalk().
|
protected |
Definition at line 64 of file HcalSiPM.h.
Referenced by hitCells(), and totalCharge().
|
protected |
Definition at line 59 of file HcalSiPM.h.
Referenced by hitCells(), resetSiPM(), setNCells(), and totalCharge().
|
protected |
Definition at line 60 of file HcalSiPM.h.
Referenced by getTau(), hitCells(), and setTau().
|
protected |
Definition at line 61 of file HcalSiPM.h.
Referenced by cellCharge(), and setTau().
|
protected |
Definition at line 63 of file HcalSiPM.h.
Referenced by getTempDep(), hitCells(), and setTemperatureDependence().