1 #ifndef CaloSimAlgos_CaloHitResponse_h 2 #define CaloSimAlgos_CaloHitResponse_h 23 class HepRandomEngine;
38 static constexpr
double dt = 0.5;
44 bool HighFidelity =
false);
48 bool HighFidelity =
false);
100 CLHEP::HepRandomEngine *)
const;
void setStorePrecise(bool sp)
void setGeometry(const CaloGeometry *geometry)
geometry needed for time-of-flight
CaloHitResponse(const CaloVSimParameterMap *parameterMap, const CaloVShape *shape, bool PreMix1=false, bool HighFidelity=false)
virtual ~CaloHitResponse()
doesn't delete the pointers passed in
int nSignals() const
number of signals in the current cache
Electronic response of the preamp.
void addHit(const PCaloHit *hit, CaloSamples &frame) const
adds the amplitude for a single hit to the frame
static constexpr int invdt
void setPECorrection(const CaloVPECorrection *peCorrection)
if you want to correct the photoelectrons
virtual void run(const MixCollection< PCaloHit > &hits, CLHEP::HepRandomEngine *)
Complete cell digitization.
Main class for Parameters in different subdetectors.
const CaloGeometry * theGeometry
void setPhaseShift(const double &thePhaseShift)
setting the phase shift for asynchronous trigger (e.g. test beams)
double analogSignalAmplitude(const DetId &id, float energy, const CaloSimParameters ¶meters, CLHEP::HepRandomEngine *) const
const CaloVPECorrection * thePECorrection
std::map< DetId, CaloSamples > AnalogSignalMap
void setHitFilter(const CaloVHitFilter *filter)
Creates electronics signals from hits.
int getReadoutFrameSize(const DetId &id) const
virtual void initializeHits()
Initialize hits.
virtual bool keepBlank() const
const CaloVHitCorrection * theHitCorrection
bool withinBunchRange(int bunchCrossing) const
check if crossing is within bunch range:
AnalogSignalMap theAnalogSignalMap
const CaloShapes * theShapes
const CaloVSimParameterMap * theParameterMap
virtual CaloSamples makeAnalogSignal(const PCaloHit &inputHit, CLHEP::HepRandomEngine *) const
creates the signal corresponding to this hit
void setBunchRange(int minBunch, int maxBunch)
tells it which pileup bunches to do
double timeOfFlight(const DetId &detId) const
CaloSamples * findSignal(const DetId &detId)
users can look for the signal for a given cell
virtual void finalizeHits(CLHEP::HepRandomEngine *)
Finalize hits.
void setHitCorrection(const CaloVHitCorrection *hitCorrection)
If you want to correct hits, for attenuation or delay, set this.
virtual void add(const PCaloHit &hit, CLHEP::HepRandomEngine *)
process a single SimHit
void clear()
frees up memory
static constexpr double dt
const CaloVHitFilter * theHitFilter
const CaloVShape * theShape
CaloSamples makeBlankSignal(const DetId &detId) const
creates an empty signal for this DetId
void setIgnoreGeantTime(bool gt)