1 #ifndef __SimTracker_SiPhase2Digitizer_Phase2TrackerDigitizer_h
2 #define __SimTracker_SiPhase2Digitizer_Phase2TrackerDigitizer_h
17 #include <unordered_map>
32 class HepRandomEngine;
41 class ConsumesCollector;
53 using ModuleTypeCache = std::unordered_map<uint32_t, TrackerGeometry::ModuleType>;
70 void loadAccumulator(
const std::map<uint32_t, std::map<int, float> >& accumulator);
83 template <
typename DigiType>
97 std::map<AlgorithmType, std::unique_ptr<Phase2TrackerDigitizerAlgorithm> >
algomap_;
edm::ESWatcher< TrackerDigiGeometryRecord > theTkDigiGeomWatcher_
Phase2TrackerDigitizer(const edm::ParameterSet &iConfig, edm::ProducesCollector, edm::ConsumesCollector &iC)
const edm::EventSetup & c
const MagneticField * pSetup_
const TrackerTopology * tTopo_
void accumulate(edm::Event const &e, edm::EventSetup const &c) override
ModuleTypeCache moduleTypeCache_
void accumulatePixelHits(edm::Handle< std::vector< PSimHit > >, size_t globalSimHitIndex, const uint32_t tofBin)
void finalizeEvent(edm::Event &e, edm::EventSetup const &c) override
AlgorithmType getAlgoType(uint32_t idet)
const bool isOuterTrackerReadoutAnalog_
void initializeEvent(edm::Event const &e, edm::EventSetup const &c) override
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
void accumulate_local(T const &iEvent, edm::EventSetup const &iSetup)
const bool makeDigiSimLinks_
std::unordered_map< uint32_t, TrackerGeometry::ModuleType > ModuleTypeCache
void loadAccumulator(const std::map< uint32_t, std::map< int, float > > &accumulator)
std::map< uint32_t, const Phase2TrackerGeomDetUnit * > detectorUnits_
void addOuterTrackerCollection(edm::Event &iEvent, const edm::EventSetup &iSetup)
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > pSetupToken_
const TrackerGeometry * pDD_
const vstring trackerContainers_
std::map< AlgorithmType, std::unique_ptr< Phase2TrackerDigitizerAlgorithm > > algomap_
const std::string hitsProducer_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > pDDToken_
void addPixelCollection(edm::Event &iEvent, const edm::EventSetup &iSetup, const bool ot_analog)
~Phase2TrackerDigitizer() override
std::vector< std::string > vstring
std::map< std::string, size_t > crossingSimHitIndexOffset_
Offset to add to the index of each sim hit to account for which crossing it's in. ...