CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/SimMuon/RPCDigitizer/src/RPCSimAverage.h

Go to the documentation of this file.
00001 #ifndef RPCDigitizer_RPCSimAverage_h
00002 #define RPCDigitizer_RPCSimAverage_h
00003 
00010 #include "SimMuon/RPCDigitizer/src/RPCSim.h"
00011 #include "SimMuon/RPCDigitizer/src/RPCSynchronizer.h"
00012 
00013 #include<cstring>
00014 #include<iostream>
00015 #include<fstream>
00016 #include<string>
00017 #include<vector>
00018 #include<stdlib.h>
00019 #include <FWCore/Framework/interface/EventSetup.h>
00020 
00021 
00022 class RPCGeometry;
00023 
00024 namespace CLHEP {
00025   class HepRandomEngine;
00026   class RandFlat;
00027   class RandPoissonQ;
00028 }
00029 
00030 class RPCSimAverage : public RPCSim
00031 {
00032  public:
00033 
00034   RPCSimAverage(const edm::ParameterSet& config);
00035   ~RPCSimAverage();
00036 
00037   void simulate(const RPCRoll* roll,
00038                 const edm::PSimHitContainer& rpcHits);
00039 
00040   void simulateNoise(const RPCRoll*);
00041 
00042   void setRandomEngine(CLHEP::HepRandomEngine& eng);
00043 
00044   int getClSize(float posX); 
00045 
00046  private:
00047   void init(){};
00048  private:
00049   double aveEff;
00050   double aveCls;
00051   double resRPC;
00052   double timOff;
00053   double dtimCs;
00054   double resEle;
00055   double sspeed;
00056   double lbGate;
00057   bool rpcdigiprint;
00058   
00059   int N_hits;
00060   int nbxing;
00061   double rate;
00062   double gate;
00063 
00064   std::map< int, std::vector<double> > clsMap;
00065   std::vector<double> sum_clsize;
00066   std::ifstream *infile;
00067  
00068   RPCSynchronizer* _rpcSync;
00069 
00070   //  CLHEP::HepRandomEngine* rndEngine;
00071   CLHEP::RandFlat* flatDistribution_;
00072   CLHEP::RandFlat* flatDistribution1;
00073   CLHEP::RandFlat* flatDistribution2;
00074   CLHEP::RandPoissonQ *poissonDistribution;
00075 };
00076 #endif