1 #ifndef MU_END_STRIP_ELECTRONICS_SIM_H 2 #define MU_END_STRIP_ELECTRONICS_SIM_H 24 class HepRandomEngine;
37 CLHEP::HepRandomEngine*);
44 CSCAnalogSignal makeNoiseSignal(
int element, CLHEP::HepRandomEngine*)
override;
46 void createDigi(
int istrip,
const CSCAnalogSignal & signal, std::vector<CSCStripDigi> &
result, CLHEP::HepRandomEngine*);
50 void initParameters()
override;
52 int readoutElement(
int strip)
const override;
54 float calculateAmpResponse(
float t)
const override;
57 void runComparator(std::vector<CSCComparatorDigi> & result, CLHEP::HepRandomEngine*);
60 float comparatorReading(
const CSCAnalogSignal & signal,
float time, CLHEP::HepRandomEngine*)
const;
63 void getReadoutRange(
int inputStrip,
64 int & minStrip,
int & maxStrip);
68 getKeyStrips(
const std::vector<CSCComparatorDigi> & comparators)
const;
72 getKeyStripsFromMC()
const;
76 channelsToRead(
const std::list<int> & keyStrips,
int window)
const;
78 void fillStripDigis(
const std::list<int> & keyStrips,
80 CLHEP::HepRandomEngine*);
82 void addCrosstalk(CLHEP::HepRandomEngine*);
84 int thisStrip,
int otherStrip, CLHEP::HepRandomEngine*);
87 void selfTest()
const;
double theComparatorTimeOffset
int theComparatorClockJump
float theComparatorDeadTime
void setStripConditions(CSCStripConditions *cond)
CSCStripConditions * theStripConditions
std::vector< double > theSCATimingOffsets
float theComparatorRMSOffset
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
CSCCrosstalkGenerator * theCrosstalkGenerator
float theComparatorThreshold
double theComparatorTimeBinOffset
float theComparatorSaturation
double theComparatorSamplingTime
float theAverageTimeOfFlight
CSCStripAmpResponse theAmpResponse