00001 #ifndef RPCDigitizer_RPCSimParam_h 00002 #define RPCDigitizer_RPCSimParam_h 00003 00010 #include "SimMuon/RPCDigitizer/src/RPCSim.h" 00011 #include <FWCore/Framework/interface/EventSetup.h> 00012 #include "SimMuon/RPCDigitizer/src/RPCSynchronizer.h" 00013 00014 class RPCGeometry; 00015 00016 namespace CLHEP { 00017 class HepRandomEngine; 00018 class RandFlat; 00019 class RandPoissonQ; 00020 } 00021 00022 class RPCSimParam : public RPCSim 00023 { 00024 public: 00025 RPCSimParam(const edm::ParameterSet& config); 00026 ~RPCSimParam(); 00027 00028 void simulate(const RPCRoll* roll, 00029 const edm::PSimHitContainer& rpcHits); 00030 00031 void simulateNoise(const RPCRoll*); 00032 00033 void setRandomEngine(CLHEP::HepRandomEngine& eng); 00034 00035 private: 00036 void init(){}; 00037 private: 00038 double aveEff; 00039 double aveCls; 00040 double resRPC; 00041 double timOff; 00042 double dtimCs; 00043 double resEle; 00044 double sspeed; 00045 double lbGate; 00046 bool rpcdigiprint; 00047 00048 int N_hits; 00049 int nbxing; 00050 double rate; 00051 double gate; 00052 00053 RPCSynchronizer* _rpcSync; 00054 00055 // CLHEP::HepRandomEngine* rndEngine; 00056 CLHEP::RandFlat* flatDistribution_; 00057 CLHEP::RandFlat* flatDistribution1; 00058 CLHEP::RandFlat* flatDistribution2; 00059 CLHEP::RandPoissonQ *poissonDistribution; 00060 }; 00061 #endif