1 #ifndef SimCalorimetry_HGCSimProducers_hgcdigitizerbase
2 #define SimCalorimetry_HGCSimProducers_hgcdigitizerbase
8 #include <unordered_map>
19 namespace hgc = hgc_digi;
34 if(myCfg_.exists(
"keV2fC"))
keV2fC_ = myCfg_.getParameter<
double>(
"keV2fC");
36 if(myCfg_.exists(
"noise_fC"))
noise_fC_ = myCfg_.getParameter<
double>(
"noise_fC");
69 throw cms::Exception(
"HGCDigitizerBaseException") <<
" Failed to find specialization of runDigitizer";
T getParameter(std::string const &) const
virtual void runDigitizer(std::auto_ptr< DColl > &coll, hgc::HGCSimHitDataAccumulator &simData, uint32_t digitizerType, CLHEP::HepRandomEngine *engine)
to be specialized by top class
void runSimple(std::auto_ptr< DColl > &coll, hgc::HGCSimHitDataAccumulator &simData, CLHEP::HepRandomEngine *engine)
a trivial digitization: sum energies and digitize without noise
edm::SortedCollection< DFr > DColl
std::unique_ptr< HGCFEElectronics< DFr > > myFEelectronics_
HGCDigitizerBase(const edm::ParameterSet &ps)
CTOR.
float keV2fC() const
getters
void updateOutput(std::auto_ptr< DColl > &coll, const DFr &rawDataFrame)
prepares the output according to the number of time samples to produce
void run(std::auto_ptr< DColl > &digiColl, hgc::HGCSimHitDataAccumulator &simData, uint32_t digitizationType, CLHEP::HepRandomEngine *engine)
steer digitization mode
models the behavior of the front-end electronics
bool toaModeByEnergy() const
std::unordered_map< uint32_t, std::array< HGCSimHitData, 2 > > HGCSimHitDataAccumulator