1 #ifndef SimCalorimetry_HGCSimProducers_hgcdigitizerbase 2 #define SimCalorimetry_HGCSimProducers_hgcdigitizerbase 8 #include <unordered_map> 9 #include <unordered_set> 56 CLHEP::HepRandomEngine* engine);
61 void updateOutput(std::unique_ptr<DColl> &coll,
const DFr& rawDataFrame);
68 uint32_t digitizerType, CLHEP::HepRandomEngine* engine)
70 throw cms::Exception(
"HGCDigitizerBaseException") <<
" Failed to find specialization of runDigitizer";
std::vector< float > noise_fC_
void runSimple(std::unique_ptr< DColl > &coll, hgc::HGCSimHitDataAccumulator &simData, const CaloSubdetectorGeometry *theGeom, const std::unordered_set< DetId > &validIds, CLHEP::HepRandomEngine *engine)
a trivial digitization: sum energies and digitize without noise
void updateOutput(std::unique_ptr< DColl > &coll, const DFr &rawDataFrame)
prepares the output according to the number of time samples to produce
std::unordered_map< uint32_t, HGCCellInfo > HGCSimHitDataAccumulator
edm::SortedCollection< DFr > DColl
void run(std::unique_ptr< DColl > &digiColl, hgc::HGCSimHitDataAccumulator &simData, const CaloSubdetectorGeometry *theGeom, const std::unordered_set< DetId > &validIds, uint32_t digitizationType, CLHEP::HepRandomEngine *engine)
steer digitization mode
std::unique_ptr< HGCFEElectronics< DFr > > myFEelectronics_
HGCDigitizerBase(const edm::ParameterSet &ps)
CTOR.
float keV2fC() const
getters
virtual void runDigitizer(std::unique_ptr< DColl > &coll, hgc::HGCSimHitDataAccumulator &simData, const CaloSubdetectorGeometry *theGeom, const std::unordered_set< DetId > &validIds, uint32_t digitizerType, CLHEP::HepRandomEngine *engine)
to be specialized by top class
models the behavior of the front-end electronics
bool toaModeByEnergy() const