#include <CSCBaseElectronicsSim.h>
Public Types | |
typedef std::map< int, CSCAnalogSignal, std::less < int > > | CSCSignalMap |
typedef edm::DetSet < StripDigiSimLink > | DigiSimLinks |
Public Member Functions | |
const DigiSimLinks & | digiSimLinks () const |
void | setLayerId (const CSCDetId &id) |
for standalone apps who don't calculate it from the geometry More... | |
void | simulate (const CSCLayer *layer, const std::vector< CSCDetectorHit > &inputHits, CLHEP::HepRandomEngine *) |
virtual | ~CSCBaseElectronicsSim () |
Protected Types | |
enum | { NONE, CONSERVATIVE, RADICAL } |
typedef std::multimap< int, CSCDetectorHit, std::less< int > > | DetectorHitMap |
Protected Member Functions | |
CSCAnalogSignal & | add (const CSCAnalogSignal &, CLHEP::HepRandomEngine *) |
virtual void | addLinks (int channelIndex) |
void | addNoise (CLHEP::HepRandomEngine *) |
CSCAnalogSignal | amplifySignal (const CSCDetectorHit &) |
double | averageTimeOfFlight (const DetId &detId) const |
the average time-of-flight from the interaction point to the given detector More... | |
virtual float | calculateAmpResponse (float t) const =0 |
virtual int | channelIndex (int channel) const |
lets users map channels to different indices for links More... | |
void | combineAnalogSignals (const std::vector< CSCAnalogSignal > &) |
CSCBaseElectronicsSim (const edm::ParameterSet &p) | |
void | fillAmpResponse () |
CSCAnalogSignal & | find (int element, CLHEP::HepRandomEngine *) |
virtual void | initParameters ()=0 |
CSCDetId | layerId () const |
the CSCDetId corresponding to the current layer More... | |
virtual CSCAnalogSignal | makeNoiseSignal (int element, CLHEP::HepRandomEngine *) |
virtual int | readoutElement (int element) const =0 |
void | setLayer (const CSCLayer *layer) |
void | setNoise (float rmsNoise, float noiseSigmaThreshold) |
void | setSignalTimeRange (double startTime, double stopTime) |
virtual float | signalDelay (int element, float pos) const |
Protected Attributes | |
bool | doNoise_ |
int | nElements |
CSCAnalogSignal | theAmpResponse |
float | theBunchSpacing |
std::vector< double > | theBunchTimingOffsets |
DetectorHitMap | theDetectorHitMap |
DigiSimLinks | theDigiSimLinks |
const CSCLayer * | theLayer |
const CSCLayerGeometry * | theLayerGeometry |
CSCDetId | theLayerId |
bool | theNoiseWasAdded |
int | theNumberOfSamples |
int | theOffsetOfBxZero |
float | thePeakTimeSigma |
float | theSamplingTime |
int | theShapingTime |
CSCSignalMap | theSignalMap |
std::vector< double > | theSignalPropagationSpeed |
float | theSignalStartTime |
float | theSignalStopTime |
const CSCChamberSpecs * | theSpecs |
std::vector< double > | theTimingCalibrationError |
Commonalities between CSCStripElectronicsSim and CSCWireElectronicsSim.
It has three non-virtual functions, so that's enough to deserve a new class. And since it has virtual functions it needs a virtual dtor.
Definition at line 37 of file CSCBaseElectronicsSim.h.
typedef std::map<int, CSCAnalogSignal, std::less<int> > CSCBaseElectronicsSim::CSCSignalMap |
Definition at line 41 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 161 of file CSCBaseElectronicsSim.h.
Definition at line 42 of file CSCBaseElectronicsSim.h.
|
protected |
|
virtual |
Definition at line 41 of file CSCBaseElectronicsSim.cc.
|
protected |
Definition at line 15 of file CSCBaseElectronicsSim.cc.
|
protected |
Definition at line 170 of file CSCBaseElectronicsSim.cc.
Referenced by counter.Counter::register().
|
protectedvirtual |
creates links from Digi to SimTrack disabled for now
Definition at line 188 of file CSCBaseElectronicsSim.cc.
|
protected |
Definition at line 135 of file CSCBaseElectronicsSim.cc.
|
protected |
Definition at line 111 of file CSCBaseElectronicsSim.cc.
|
protected |
the average time-of-flight from the interaction point to the given detector
|
protectedpure virtual |
Implemented in CSCStripElectronicsSim, and CSCWireElectronicsSim.
|
inlineprotectedvirtual |
lets users map channels to different indices for links
Reimplemented in CSCWireElectronicsSim.
Definition at line 105 of file CSCBaseElectronicsSim.h.
|
protected |
|
inline |
Definition at line 50 of file CSCBaseElectronicsSim.h.
References theDigiSimLinks.
|
protected |
Definition at line 92 of file CSCBaseElectronicsSim.cc.
|
protected |
Definition at line 149 of file CSCBaseElectronicsSim.cc.
|
protectedpure virtual |
Implemented in CSCStripElectronicsSim, and CSCWireElectronicsSim.
|
inlineprotected |
the CSCDetId corresponding to the current layer
Definition at line 108 of file CSCBaseElectronicsSim.h.
References theLayerId.
|
protectedvirtual |
Reimplemented in CSCStripElectronicsSim.
Definition at line 128 of file CSCBaseElectronicsSim.cc.
|
protectedpure virtual |
Implemented in CSCStripElectronicsSim, and CSCWireElectronicsSim.
|
protected |
Definition at line 80 of file CSCBaseElectronicsSim.cc.
|
inline |
for standalone apps who don't calculate it from the geometry
Definition at line 55 of file CSCBaseElectronicsSim.h.
References theLayerId.
|
protected |
|
inlineprotected |
How long before & after the bunch crossing to simulate shortening the time can save CPU
Definition at line 81 of file CSCBaseElectronicsSim.h.
References dcs_trend_monitor_cfg::startTime, theSignalStartTime, and theSignalStopTime.
|
protectedvirtual |
how long, in ns, it takes a signal at pos to propagate to the readout edge. This may be negative, since the timing may be calibrated to the center of the detector
Definition at line 178 of file CSCBaseElectronicsSim.cc.
void CSCBaseElectronicsSim::simulate | ( | const CSCLayer * | layer, |
const std::vector< CSCDetectorHit > & | inputHits, | ||
CLHEP::HepRandomEngine * | engine | ||
) |
Definition at line 46 of file CSCBaseElectronicsSim.cc.
|
protected |
Definition at line 158 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 133 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 122 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 125 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 140 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 162 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 163 of file CSCBaseElectronicsSim.h.
Referenced by digiSimLinks().
|
protected |
Definition at line 118 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 117 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 119 of file CSCBaseElectronicsSim.h.
Referenced by layerId(), and setLayerId().
|
protected |
Definition at line 130 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 150 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 153 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 137 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 147 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 136 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 121 of file CSCBaseElectronicsSim.h.
|
protected |
Speed (cm/ns) that it takes for the signal to get from the element to the readout. Actually negative in strips, due to reflection effects.
Definition at line 156 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 143 of file CSCBaseElectronicsSim.h.
Referenced by setSignalTimeRange().
|
protected |
Definition at line 144 of file CSCBaseElectronicsSim.h.
Referenced by setSignalTimeRange().
|
protected |
Definition at line 116 of file CSCBaseElectronicsSim.h.
|
protected |
Definition at line 157 of file CSCBaseElectronicsSim.h.