1 #ifndef MU_END_STRIP_ELECTRONICS_SIM_H 2 #define MU_END_STRIP_ELECTRONICS_SIM_H 25 class HepRandomEngine;
40 CLHEP::HepRandomEngine *);
48 std::vector<CSCStripDigi> &
result,
49 CLHEP::HepRandomEngine *);
69 std::list<int>
getKeyStrips(
const std::vector<CSCComparatorDigi> &comparators)
const;
void initParameters() override
initialization for each layer
double theComparatorTimeOffset
void addCrosstalk(CLHEP::HepRandomEngine *)
int theComparatorClockJump
float comparatorReading(const CSCAnalogSignal &signal, float time, CLHEP::HepRandomEngine *) const
calculates the comparator reading, including saturation and offsets
void runComparator(std::vector< CSCComparatorDigi > &result, CLHEP::HepRandomEngine *)
float theComparatorDeadTime
void getReadoutRange(int inputStrip, int &minStrip, int &maxStrip)
void setStripConditions(CSCStripConditions *cond)
int readoutElement(int strip) const override
constexpr std::array< uint8_t, layerIndexSize > layer
CSCStripConditions * theStripConditions
std::list< int > getKeyStripsFromMC() const
get ths strips that have detector hits
std::vector< double > theSCATimingOffsets
float theComparatorRMSOffset
CSCAnalogSignal makeNoiseSignal(int element, CLHEP::HepRandomEngine *) override
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
void fillMissingLayer(const CSCLayer *layer, const CSCComparatorDigiCollection &comparators, CSCStripDigiCollection &digis, CLHEP::HepRandomEngine *)
CSCCrosstalkGenerator * theCrosstalkGenerator
void doSaturation(CSCStripDigi &digi)
std::list< int > channelsToRead(const std::list< int > &keyStrips, int window) const
~CSCStripElectronicsSim() override
float theComparatorThreshold
CSCStripElectronicsSim(const edm::ParameterSet &p)
configurable parameters
double theComparatorTimeBinOffset
float theComparatorSaturation
double theComparatorSamplingTime
void fillDigis(CSCStripDigiCollection &digis, CSCComparatorDigiCollection &comparators, CLHEP::HepRandomEngine *)
float theAverageTimeOfFlight
float calculateAmpResponse(float t) const override
CSCStripAmpResponse theAmpResponse
std::list< int > getKeyStrips(const std::vector< CSCComparatorDigi > &comparators) const
finds the key strips from these comparators
void createDigi(int istrip, const CSCAnalogSignal &signal, std::vector< CSCStripDigi > &result, CLHEP::HepRandomEngine *)
void fillStripDigis(const std::list< int > &keyStrips, CSCStripDigiCollection &digis, CLHEP::HepRandomEngine *)