CMS 3D CMS Logo

DigiSimLinkAlgorithm.h
Go to the documentation of this file.
1 #ifndef DigiSimLinkAlgorithm_h
2 #define DigiSimLinkAlgorithm_h
3 
9 #include <string>
10 
12 
26 #include "SiHitDigitizer.h"
34 
35 namespace CLHEP {
36  class HepRandomEngine;
37 }
38 
39 class TrackerTopolgoy;
40 
42  public:
47  typedef std::map< int, float, std::less<int> > hit_map_type;
48  typedef float Amplitude;
49 
50  // Constructor
52 
53  // Destructor
55 
56  // Runs the algorithm
58  const std::vector<std::pair<const PSimHit*, int > > &,
59  StripGeomDetUnit const *, GlobalVector, float,
62  const TrackerTopology *tTopo,
63  CLHEP::HepRandomEngine*);
64 
65  // digisimlink
66  std::vector<StripDigiSimLink> make_link() { return link_coll; }
67 
68  // ParticleDataTable
70  theSiHitDigitizer->setParticleDataTable(pardt);
71  pdt= pardt;
72  }
73 
74  private:
77  double theThreshold;
78  double cmnRMStib;
79  double cmnRMStob;
80  double cmnRMStid;
81  double cmnRMStec;
83  bool peakMode;
84  bool noise;
90 
95  double tofCut;
96  int numStrips;
97  int strip;
98  //double noiseRMS;
99  //double pedValue;
100  double cosmicShift;
101  double inefficiency;
102  double pedOffset;
104 
105 
110 
111  // local amplitude of detector channels (from processed PSimHit)
112  std::vector<float> locAmpl;
113  // total amplitude of detector channels
114  std::vector<float> detAmpl;
115 
118 
124 
125  DigitalVecType digis;
126  DigitalRawVecType rawdigis;
127  std::vector<StripDigiSimLink> link_coll;
128 
129  void push_link(const DigitalVecType&,
130  const HitToDigisMapType&,
131  const HitCounterToDigisMapType&,
132  const std::vector<float>&,
133  unsigned int);
134 
135  void push_link_raw(const DigitalRawVecType&,
136  const HitToDigisMapType&,
137  const HitCounterToDigisMapType&,
138  const std::vector<float>&,
139  unsigned int);
140 };
141 
142 #endif
std::vector< SiStripDigi > DigitalVecType
SiHitDigitizer * theSiHitDigitizer
DigitalRawVecType rawdigis
HepPDT::ParticleDataTable ParticleDataTable
edm::ParameterSet conf_
SiStripFedZeroSuppression * theSiZeroSuppress
std::vector< StripDigiSimLink > make_link()
const ParticleDataTable * pdt
void setParticleDataTable(const ParticleDataTable *pardt)
SiDigitalConverter::DigitalRawVecType DigitalRawVecType
SiDigitalConverter::DigitalVecType DigitalVecType
std::vector< StripDigiSimLink > link_coll
SiTrivialDigitalConverter * theSiDigitalConverter
std::vector< SiStripRawDigi > DigitalRawVecType
std::vector< float > detAmpl
SiGaussianTailNoiseAdder * theSiNoiseAdder
HepPDT::ParticleData ParticleData
DigiSimLinkPileUpSignals::HitCounterToDigisMapType HitCounterToDigisMapType
std::map< int, float, std::less< int > > hit_map_type
const ParticleData * particle
DigiSimLinkPileUpSignals::HitToDigisMapType HitToDigisMapType
DigiSimLinkPileUpSignals * theDigiSimLinkPileUpSignals
std::map< int, std::vector< std::pair< const PSimHit *, Amplitude > >, std::less< int > > HitToDigisMapType
std::map< int, std::vector< std::pair< const PSimHit *, int > >, std::less< int > > HitCounterToDigisMapType
std::vector< float > locAmpl