![]() |
![]() |
00001 #ifndef GEMDigitizer_GEMSimAverage_h 00002 #define GEMDigitizer_GEMSimAverage_h 00003 00012 #include "SimMuon/GEMDigitizer/src/GEMSim.h" 00013 00014 class GEMGeometry; 00015 class GEMSynchronizer; 00016 00017 namespace CLHEP 00018 { 00019 class HepRandomEngine; 00020 class RandFlat; 00021 class RandPoissonQ; 00022 } 00023 00024 class GEMSimAverage: public GEMSim 00025 { 00026 public: 00027 00028 GEMSimAverage(const edm::ParameterSet& config); 00029 00030 ~GEMSimAverage(); 00031 00032 void simulate(const GEMEtaPartition* roll, const edm::PSimHitContainer& rpcHits); 00033 00034 void simulateNoise(const GEMEtaPartition* roll); 00035 00036 void setRandomEngine(CLHEP::HepRandomEngine& eng); 00037 00038 private: 00039 00040 void init() {} 00041 00042 GEMSynchronizer* sync_; 00043 double averageEfficiency_; 00044 double averageShapingTime_; 00045 double averageNoiseRate_; 00046 double bxwidth_; 00047 int minBunch_; 00048 int maxBunch_; 00049 00050 // CLHEP::HepRandomEngine* rndEngine; 00051 CLHEP::RandFlat* flatDistr1_; 00052 CLHEP::RandFlat* flatDistr2_; 00053 CLHEP::RandPoissonQ *poissonDistr_; 00054 }; 00055 00056 #endif