File indexing completed on 2024-04-06 12:30:55
0001 #ifndef SimTracker_SiPhase2Digitizer_PSSDigitizerAlgorithm_h
0002 #define SimTracker_SiPhase2Digitizer_PSSDigitizerAlgorithm_h
0003
0004 #include "CondFormats/DataRecord/interface/SiPhase2OuterTrackerLorentzAngleRcd.h"
0005 #include "FWCore/Utilities/interface/ESGetToken.h"
0006 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0007 #include "SimTracker/SiPhase2Digitizer/plugins/Phase2TrackerDigitizerAlgorithm.h"
0008 #include "CondFormats/SiStripObjects/interface/SiStripBadStrip.h"
0009
0010 class PSSDigitizerAlgorithm : public Phase2TrackerDigitizerAlgorithm {
0011 public:
0012 PSSDigitizerAlgorithm(const edm::ParameterSet& conf, edm::ConsumesCollector iC);
0013 ~PSSDigitizerAlgorithm() override;
0014
0015
0016 void init(const edm::EventSetup& es) override;
0017
0018 bool select_hit(const PSimHit& hit, double tCorr, double& sigScale) const override;
0019 bool isAboveThreshold(const digitizerUtility::SimHitInfo* hitInfo, float charge, float thr) const override;
0020 void module_killing_DB(const Phase2TrackerGeomDetUnit* pixdet) override;
0021
0022 private:
0023 edm::ESGetToken<SiPhase2OuterTrackerLorentzAngle, SiPhase2OuterTrackerLorentzAngleSimRcd> siPhase2OTLorentzAngleToken_;
0024 const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> geomToken_;
0025 edm::ESGetToken<SiStripBadStrip, SiPhase2OuterTrackerBadStripRcd> badChannelToken_;
0026 const SiStripBadStrip* badChannelPayload_;
0027 };
0028 #endif