Go to the documentation of this file. 1 #ifndef simcalorimetry_hgcalsimalgos_hgcalsinoisemap
2 #define simcalorimetry_hgcalsimalgos_hgcalsinoisemap
11 #include <unordered_map>
48 const std::vector<double> &parsThin,
49 const std::vector<double> &parsThick) {
78 int aimMIPtoADC = 10);
82 std::vector<double> &cceParam,
144 #include "HGCalSiNoiseMap.icc"
void setIleakParam(const std::vector< double > &pars)
set the ileak parameters to use
std::vector< double > & getLSBPerGain()
std::vector< double > ileakParam_
const SiCellOpCharacteristicsCore getSiCellOpCharacteristicsCore(const T &did, GainRange_t gain, int aimMIPtoADC)
returns the charge collection efficiency and noise if gain range is set to auto, it will find the mos...
parses a txt file with dose/fluence parameters and provides functions for noise, etc.
std::vector< hgc_digi::FEADCPulseShape > adcPulses_
void setDefaultADCPulseShape(const hgc_digi::FEADCPulseShape &adcPulse)
std::vector< double > lsbPerGain_
std::array< double, 3 > & getMipEqfC()
std::vector< std::vector< double > > encsParam_
void setDoseMap(const std::string &, const unsigned int &)
overrides base class method with specifics for the configuration of the algo
std::array< double, 3 > mipEqfC_
std::array< double, 3 > cellCapacitance_
double getENCpad(double ileak)
SiCellOpCharacteristicsCore core
std::vector< std::vector< double > > cceParam_
std::array< float, 6 > FEADCPulseShape
SiCellOpCharacteristicsCore()
std::vector< std::vector< double > > & getENCsParam()
void setGeometry(const CaloSubdetectorGeometry *, GainRange_t gain=GainRange_t::AUTO, int aimMIPtoADC=10)
specialization of the base class method which sets the geometry so that it can instantiate an operati...
void setCachedOp(bool flag)
const double unitToMicroLog_
const hgc_digi::FEADCPulseShape & adcPulseForGain(GainRange_t gain)
SiCellOpCharacteristics()
std::array< double, 3 > & getCellVolume()
std::array< double, 3 > cellVolume_
constexpr std::array< uint8_t, layerIndexSize > layer
std::vector< std::vector< double > > & getCCEParam()
derives from HGCalRadiation map to parse fluence parameters, provides Si-specific functions; see DN-1...
bool ignoreGainDependentPulse_
const double unitToMicro_
std::vector< double > chargeAtFullScaleADCPerGain_
SiCellOpCharacteristics getSiCellOpCharacteristics(const T &did, GainRange_t gain=GainRange_t::AUTO, int aimMIPtoADC=10)
const SiCellOpCharacteristicsCore getSiCellOpCharacteristicsCore(const T &did)
std::map< uint32_t, SiCellOpCharacteristicsCore > siopCache_
hgc_digi::FEADCPulseShape defaultADCPulse_
std::vector< double > & getIleakParam()
std::vector< double > & getMaxADCPerGain()
void setENCCommonNoiseSubScale(double val)
std::array< double, 3 > & getCellCapacitance()
void setCceParam(const std::vector< double > &parsFine, const std::vector< double > &parsThin, const std::vector< double > &parsThick)
set the cce parameters to use
double encCommonNoiseSub_