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