CMS 3D CMS Logo

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