CMS 3D CMS Logo

SSDigitizerAlgorithm.h
Go to the documentation of this file.
1 #ifndef _SimTracker_SiPhase2Digitizer_SSDigitizerAlgorithm_h
2 #define _SimTracker_SiPhase2Digitizer_SSDigitizerAlgorithm_h
3 
9 
11 public:
13  ~SSDigitizerAlgorithm() override;
14 
15  // initialization that cannot be done in the constructor
16  void init(const edm::EventSetup& es) override;
17 
18  bool select_hit(const PSimHit& hit, double tCorr, double& sigScale) const override;
19  bool isAboveThreshold(const digitizerUtility::SimHitInfo* hitInfo, float charge, float thr) const override;
20 
21 private:
23  double cbc3PulsePolarExpansion(double x) const;
24  double signalShape(double x) const;
25  double getSignalScale(double xval) const;
26  void storeSignalShape();
27  bool select_hit_sampledMode(const PSimHit& hit, double tCorr, double& sigScale) const;
28  bool select_hit_latchedMode(const PSimHit& hit, double tCorr, double& sigScale) const;
29  void module_killing_DB(const Phase2TrackerGeomDetUnit* pixdet) override;
30 
32  std::vector<double> pulseShapeVec_;
33  std::vector<double> pulseShapeParameters_;
34  float deadTime_;
37  static constexpr float bx_time{25};
38  static constexpr size_t interpolationPoints{1000};
39  static constexpr int interpolationStep{10};
42 };
43 #endif
bool select_hit_latchedMode(const PSimHit &hit, double tCorr, double &sigScale) const
double signalShape(double x) const
bool select_hit_sampledMode(const PSimHit &hit, double tCorr, double &sigScale) const
double getSignalScale(double xval) const
static constexpr size_t interpolationPoints
SSDigitizerAlgorithm(const edm::ParameterSet &conf, edm::ConsumesCollector iC)
bool isAboveThreshold(const digitizerUtility::SimHitInfo *hitInfo, float charge, float thr) const override
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
std::vector< double > pulseShapeVec_
void init(const edm::EventSetup &es) override
std::vector< double > pulseShapeParameters_
double cbc3PulsePolarExpansion(double x) const
bool select_hit(const PSimHit &hit, double tCorr, double &sigScale) const override
static constexpr float bx_time
void module_killing_DB(const Phase2TrackerGeomDetUnit *pixdet) override
edm::ESGetToken< SiStripBadStrip, SiPhase2OuterTrackerBadStripRcd > badChannelToken_
const SiStripBadStrip * badChannelPayload_
edm::ESGetToken< SiPhase2OuterTrackerLorentzAngle, SiPhase2OuterTrackerLorentzAngleSimRcd > siPhase2OTLorentzAngleToken_
static constexpr int interpolationStep