1 #ifndef MU_END_BASE_ELECTRONICS_SIM_H
2 #define MU_END_BASE_ELECTRONICS_SIM_H
34 class HepRandomEngine;
41 typedef std::map<int, CSCAnalogSignal, std::less<int> >
CSCSignalMap;
47 const std::vector<CSCDetectorHit> & inputHits,
48 CLHEP::HepRandomEngine*);
77 void setNoise(
float rmsNoise,
float noiseSigmaThreshold);
86 void addNoise(CLHEP::HepRandomEngine*);
98 virtual float signalDelay(
int element,
float pos)
const;
std::vector< double > theBunchTimingOffsets
CSCBaseElectronicsSim(const edm::ParameterSet &p)
virtual float signalDelay(int element, float pos) const
const CSCLayer * theLayer
const CSCChamberSpecs * theSpecs
CSCSignalMap theSignalMap
const CSCLayerGeometry * theLayerGeometry
std::multimap< int, CSCDetectorHit, std::less< int > > DetectorHitMap
void combineAnalogSignals(const std::vector< CSCAnalogSignal > &)
std::map< int, CSCAnalogSignal, std::less< int > > CSCSignalMap
virtual float calculateAmpResponse(float t) const =0
CSCAnalogSignal amplifySignal(const CSCDetectorHit &)
void setNoise(float rmsNoise, float noiseSigmaThreshold)
virtual CSCAnalogSignal makeNoiseSignal(int element, CLHEP::HepRandomEngine *)
void setLayer(const CSCLayer *layer)
const DigiSimLinks & digiSimLinks() const
CSCAnalogSignal theAmpResponse
void setLayerId(const CSCDetId &id)
for standalone apps who don't calculate it from the geometry
std::vector< double > theSignalPropagationSpeed
edm::DetSet< StripDigiSimLink > DigiSimLinks
virtual int readoutElement(int element) const =0
virtual void addLinks(int channelIndex)
DetectorHitMap theDetectorHitMap
void setSignalTimeRange(double startTime, double stopTime)
CSCDetId layerId() const
the CSCDetId corresponding to the current layer
CSCAnalogSignal & find(int element, CLHEP::HepRandomEngine *)
DigiSimLinks theDigiSimLinks
void addNoise(CLHEP::HepRandomEngine *)
virtual int channelIndex(int channel) const
lets users map channels to different indices for links
void simulate(const CSCLayer *layer, const std::vector< CSCDetectorHit > &inputHits, CLHEP::HepRandomEngine *)
virtual void initParameters()=0
double averageTimeOfFlight(const DetId &detId) const
the average time-of-flight from the interaction point to the given detector
CSCAnalogSignal & add(const CSCAnalogSignal &, CLHEP::HepRandomEngine *)
virtual ~CSCBaseElectronicsSim()
std::vector< double > theTimingCalibrationError