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
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
00030
00031 float pedValue;
00032 float threshold;
00033 CLHEP::HepRandomEngine& rndEngine;
00034 CLHEP::RandGaussQ* gaussDistribution;
00035 GaussianTailNoiseGenerator* genNoise;
00036 };
00037 #endif
00038