00001 #ifndef MU_END_WIRE_ELECTRONICS_SIM_H 00002 #define MU_END_WIRE_ELECTRONICS_SIM_H 00003 00011 #include "SimMuon/CSCDigitizer/src/CSCBaseElectronicsSim.h" 00012 #include "DataFormats/CSCDigi/interface/CSCWireDigiCollection.h" 00013 00014 // declarations 00015 class CSCLayer; 00016 class CSCDetectorHit; 00017 class CSCWireDigi; 00018 class CSCAnalogSignal; 00019 00020 00021 class CSCWireElectronicsSim : public CSCBaseElectronicsSim 00022 { 00023 public: 00025 CSCWireElectronicsSim(const edm::ParameterSet &p); 00026 00027 void setFraction(float newFraction) {theFraction = newFraction;}; 00028 00029 void fillDigis(CSCWireDigiCollection & digis); 00030 00031 private: 00033 virtual void initParameters(); 00034 00035 // will return wire group, given wire. 00036 virtual int readoutElement(int element) const; 00037 00038 float calculateAmpResponse(float t) const; 00039 00040 virtual float timeOfFlightCalibration(int wireGroup) const; 00041 00043 virtual int channelIndex(int channel) const {return channel+100;} 00044 00045 // member data 00046 // the fractional discriminator returns the time when the signal 00047 // reaches this fraction of its maximum 00048 float theFraction; 00049 float theWireNoise; 00050 float theWireThreshold; 00051 00052 }; 00053 00054 #endif