CMS 3D CMS Logo

SiGaussianTailNoiseAdder.h
Go to the documentation of this file.
1 #ifndef _TRACKER_SIGAUSSIANTAILNOISEADDER_H
2 #define _TRACKER_SIGAUSSIANTAILNOISEADDER_H
3 
4 #include <memory>
5 
6 #include "SiNoiseAdder.h"
8 
13 namespace CLHEP {
14  class HepRandomEngine;
15 }
16 
18 public:
20  ~SiGaussianTailNoiseAdder() override;
21  void addNoise(std::vector<float> &, size_t &, size_t &, int, float, CLHEP::HepRandomEngine *) const override;
22 
23  void addNoiseVR(std::vector<float> &, std::vector<float> &, CLHEP::HepRandomEngine *) const override;
24  void addPedestals(std::vector<float> &, std::vector<float> &) const override;
25  void addCMNoise(std::vector<float> &, float, std::vector<bool> &, CLHEP::HepRandomEngine *) const override;
26  void addBaselineShift(std::vector<float> &, std::vector<bool> &) const override;
27 
28 private:
29  const float threshold;
30  std::unique_ptr<GaussianTailNoiseGenerator> genNoise;
31 };
32 #endif
std::unique_ptr< GaussianTailNoiseGenerator > genNoise