CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GaussianTailNoiseGenerator.h
Go to the documentation of this file.
1 
14 #ifndef GaussianTailNoiseGenerator_h
15 #define GaussianTailNoiseGenerator_h
16 
17 #include <vector>
18 #include <map>
19 
20 namespace CLHEP {
21  class HepRandomEngine;
22 }
23 
25 
26 public:
27 
29 
30  // Compiler-generated destructor, copy c'tor, and assignment are all
31  // correct.
32 
33  void generate(int NumberOfchannels,
34  float threshold,
35  float noiseRMS,
36  std::map<int,float>& theMap,
37  CLHEP::HepRandomEngine*);
38 
39  void generate(int NumberOfchannels,
40  float threshold,
41  float noiseRMS,
42  std::vector<std::pair<int,float> >&,
43  CLHEP::HepRandomEngine*);
44 /*
45  void generateRaw(int NumberOfchannels,
46  float noiseRMS,
47  std::vector<std::pair<int,float> >&,
48  CLHEP::HepRandomEngine*);
49 */
50  void generateRaw(float noiseRMS,
51  std::vector<double>&,
52  CLHEP::HepRandomEngine*);
53 
54 protected:
55 
56  int* getRandomChannels(int, int, CLHEP::HepRandomEngine*);
57 
58  double generate_gaussian_tail(const double,const double, CLHEP::HepRandomEngine*);
59 
60 private:
61 
62  int channel512_[512];
63  int channel768_[768];
64 };
65 
66 #endif
double generate_gaussian_tail(const double, const double, CLHEP::HepRandomEngine *)
void generate(int NumberOfchannels, float threshold, float noiseRMS, std::map< int, float > &theMap, CLHEP::HepRandomEngine *)
int * getRandomChannels(int, int, CLHEP::HepRandomEngine *)
void generateRaw(float noiseRMS, std::vector< double > &, CLHEP::HepRandomEngine *)