2 #ifndef HcalSimAlgos_HcalSiPMHitResponse_h
3 #define HcalSimAlgos_HcalSiPMHitResponse_h
16 class HepRandomEngine;
40 virtual void finalizeHits(CLHEP::HepRandomEngine*)
override;
42 virtual void add(
const PCaloHit&
hit, CLHEP::HepRandomEngine*)
override;
53 typedef std::multiset <PCaloHit, PCaloHitCompareTimes>
SortedHitSet;
59 double diffNorm = 1.0)
const;
76 #endif //HcalSimAlgos_HcalSiPMHitResponse_h
virtual void initializeHits()
Initialize hits.
A general implementation for the response of a SiPM.
virtual void finalizeHits(CLHEP::HepRandomEngine *) override
Finalize hits.
std::map< DetId, photonTimeHist > photonTimeMap
virtual CaloSamples makeSiPMSignal(const DetId &id, const PCaloHit &hit, int &integral, CLHEP::HepRandomEngine *) const
double generatePhotonTime(CLHEP::HepRandomEngine *) const
bool operator()(const PCaloHit *a, const PCaloHit *b) const
std::multiset< PCaloHit, PCaloHitCompareTimes > SortedHitSet
static double Y11TimePDF(double t)
Creates electronics signals from hits.
virtual void differentiatePreciseSamples(CaloSamples &samples, double diffNorm=1.0) const
virtual void add(const PCaloHit &hit, CLHEP::HepRandomEngine *) override
process a single SimHit
Integral< F, X >::type integral(const F &f)
HcalTDCParameters theTDCParams
std::vector< unsigned int > photonTimeHist
virtual void run(MixCollection< PCaloHit > &hits, CLHEP::HepRandomEngine *) override
Complete cell digitization.
virtual CaloSamples makeBlankSignal(const DetId &detId) const
float const Y11TIMETORISE
HcalSiPMHitResponse(const CaloVSimParameterMap *parameterMap, const CaloShapes *shapes)
photonTimeMap precisionTimedPhotons
virtual ~HcalSiPMHitResponse()