CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/SimTracker/SiStripDigitizer/interface/SiGaussianTailNoiseAdder.h

Go to the documentation of this file.
00001 #ifndef _TRACKER_SIGAUSSIANTAILNOISEADDER_H
00002 #define _TRACKER_SIGAUSSIANTAILNOISEADDER_H
00003 
00004 #include "SimTracker/SiStripDigitizer/interface/SiNoiseAdder.h"
00005 #include "SimGeneral/NoiseGenerators/interface/GaussianTailNoiseGenerator.h"
00006 
00011 namespace CLHEP {
00012   class HepRandomEngine;
00013   class RandGaussQ;
00014 }
00015 
00016 class SiGaussianTailNoiseAdder : public SiNoiseAdder{
00017  public:
00018   SiGaussianTailNoiseAdder(float,CLHEP::HepRandomEngine&);
00019   ~SiGaussianTailNoiseAdder();
00020   void addNoise(std::vector<double>&, size_t&, size_t&, int, float);
00021   //void createRaw(std::vector<double>&, size_t&, size_t&, int, float, float);
00022   
00023   void addNoiseVR(std::vector<double> &, std::vector<float> &);
00024   void addPedestals(std::vector<double> &, std::vector<float> &);
00025   void addCMNoise(std::vector<double> &, float, std::vector<bool> &);
00026   void addBaselineShift(std::vector<double> &, std::vector<bool> &);
00027   
00028  private:
00029   //int numStrips;
00030   //float noiseRMS;
00031   float pedValue;
00032   float threshold;
00033   CLHEP::HepRandomEngine& rndEngine;
00034   CLHEP::RandGaussQ* gaussDistribution;
00035   GaussianTailNoiseGenerator* genNoise;
00036 };
00037 #endif
00038