2 #ifndef HcalSimAlgos_HcalSiPMHitResponse_h
3 #define HcalSimAlgos_HcalSiPMHitResponse_h
15 class HepRandomEngine;
30 const CaloShapes * shapes,
bool PreMix1 =
false);
39 virtual void finalizeHits(CLHEP::HepRandomEngine*)
override;
41 virtual void add(
const PCaloHit&
hit, CLHEP::HepRandomEngine*)
override;
45 virtual void addPEnoise(CLHEP::HepRandomEngine* engine);
49 virtual void setDetIds(
const std::vector<DetId> & detIds);
73 #endif //HcalSimAlgos_HcalSiPMHitResponse_h
A general implementation for the response of a SiPM.
const std::vector< DetId > * theDetIds
virtual void finalizeHits(CLHEP::HepRandomEngine *) override
Finalize hits.
std::map< DetId, photonTimeHist > photonTimeMap
double generatePhotonTime(CLHEP::HepRandomEngine *) const
bool operator()(const PCaloHit *a, const PCaloHit *b) const
static double Y11TimePDF(double t)
virtual void addPEnoise(CLHEP::HepRandomEngine *engine)
virtual CaloSamples makeSiPMSignal(DetId const &id, photonTimeHist const &photons, CLHEP::HepRandomEngine *) const
Creates electronics signals from hits.
virtual void add(const PCaloHit &hit, CLHEP::HepRandomEngine *) override
process a single SimHit
virtual void setDetIds(const std::vector< DetId > &detIds)
HcalTDCParameters theTDCParams
std::vector< unsigned int > photonTimeHist
virtual CaloSamples makeBlankSignal(const DetId &detId) const
float const Y11TIMETORISE
virtual void initializeHits() override
Initialize hits.
photonTimeMap precisionTimedPhotons
virtual ~HcalSiPMHitResponse()
HcalSiPMHitResponse(const CaloVSimParameterMap *parameterMap, const CaloShapes *shapes, bool PreMix1=false)