CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SSDigitizerAlgorithm.h
Go to the documentation of this file.
1 #ifndef _SimTracker_SiPhase2Digitizer_SSDigitizerAlgorithm_h
2 #define _SimTracker_SiPhase2Digitizer_SSDigitizerAlgorithm_h
3 
8 
10 public:
12  ~SSDigitizerAlgorithm() override;
13 
14  // initialization that cannot be done in the constructor
15  void init(const edm::EventSetup& es) override;
16 
17  bool select_hit(const PSimHit& hit, double tCorr, double& sigScale) const override;
18  bool isAboveThreshold(const DigitizerUtility::SimHitInfo* hitInfo, float charge, float thr) const override;
19 
20 private:
22  double cbc3PulsePolarExpansion(double x) const;
23  double signalShape(double x) const;
24  double getSignalScale(double xval) const;
25  void storeSignalShape();
26  bool select_hit_sampledMode(const PSimHit& hit, double tCorr, double& sigScale) const;
27  bool select_hit_latchedMode(const PSimHit& hit, double tCorr, double& sigScale) const;
28 
30  std::vector<double> pulseShapeVec_;
31  std::vector<double> pulseShapeParameters_;
32  float deadTime_;
35  static constexpr float bx_time{25};
36  static constexpr size_t interpolationPoints{1000};
37  static constexpr int interpolationStep{10};
38 };
39 #endif
static constexpr size_t interpolationPoints
SSDigitizerAlgorithm(const edm::ParameterSet &conf, edm::ConsumesCollector iC)
double signalShape(double x) const
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
bool isAboveThreshold(const DigitizerUtility::SimHitInfo *hitInfo, float charge, float thr) const override
std::vector< double > pulseShapeVec_
void init(const edm::EventSetup &es) override
double getSignalScale(double xval) const
std::vector< double > pulseShapeParameters_
bool select_hit(const PSimHit &hit, double tCorr, double &sigScale) const override
bool select_hit_latchedMode(const PSimHit &hit, double tCorr, double &sigScale) const
static constexpr float bx_time
double cbc3PulsePolarExpansion(double x) const
bool select_hit_sampledMode(const PSimHit &hit, double tCorr, double &sigScale) const
edm::ESGetToken< SiPhase2OuterTrackerLorentzAngle, SiPhase2OuterTrackerLorentzAngleSimRcd > siPhase2OTLorentzAngleToken_
static constexpr int interpolationStep