CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RPCSimAverageNoiseEffCls.h
Go to the documentation of this file.
1 #ifndef RPCDigitizer_RPCSimAverageNoiseEffCls_h
2 #define RPCDigitizer_RPCSimAverageNoiseEffCls_h
3 
12 
13 #include<cstring>
14 #include<iostream>
15 #include<fstream>
16 #include<string>
17 #include<vector>
18 #include<stdlib.h>
21 
22 class RPCGeometry;
23 //class RPCSimSetUp;
24 
25 namespace CLHEP {
26  class HepRandomEngine;
27  class RandFlat;
28  class RandPoisson;
29 }
30 
32 {
33  public:
36 
37  void simulate(const RPCRoll* roll,
38  const edm::PSimHitContainer& rpcHits);
39 
40  void simulateNoise(const RPCRoll*);
41 
42  void setRandomEngine(CLHEP::HepRandomEngine& eng);
43 
44  int getClSize(float posX);
45  int getClSize(uint32_t id,float posX);
46 
47  private:
48  void init(){};
49  private:
50  double aveEff;
51  double aveCls;
52  double resRPC;
53  double timOff;
54  double dtimCs;
55  double resEle;
56  double sspeed;
57  double lbGate;
59 
60  int N_hits;
61  int nbxing;
62  double rate;
63  double gate;
64  double frate;
65 
66  std::map< int, std::vector<double> > clsMap;
67  std::vector<double> sum_clsize;
68  std::vector<double> clsForDetId;
69  std::ifstream *infile;
70 
72 
73  //Defining the engines in the constructor and the method
74  //CLHEP::HepRandomEngine* rndEngine;
75  CLHEP::RandFlat* flatDistribution;
76  //Adding a second flatDistribution, since it was redefined
77  //in a method with different interval
78  CLHEP::RandFlat* flatDistribution2;
79  CLHEP::RandPoissonQ *poissonDistribution_;
80 
81 };
82 #endif
std::vector< double > clsForDetId
std::vector< double > sum_clsize
Definition: RPCSim.h:27
CLHEP::RandPoissonQ * poissonDistribution_
std::map< int, std::vector< double > > clsMap
void setRandomEngine(CLHEP::HepRandomEngine &eng)
void simulate(const RPCRoll *roll, const edm::PSimHitContainer &rpcHits)
RPCSimAverageNoiseEffCls(const edm::ParameterSet &config)
std::vector< PSimHit > PSimHitContainer
void simulateNoise(const RPCRoll *)