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