1 #ifndef __SimTracker_SiPhase2Digitizer_Phase2TrackerDigitizer_h
2 #define __SimTracker_SiPhase2Digitizer_Phase2TrackerDigitizer_h
27 #include <unordered_map>
31 class HepRandomEngine;
38 template<
typename T>
class Handle;
39 class ConsumesCollector;
53 typedef std::unordered_map<unsigned, TrackerGeometry::ModuleType>
ModuleTypeCache;
70 using vstring = std::vector<std::string> ;
83 size_t globalSimHitIndex,
84 const unsigned int tofBin);
100 std::map<AlgorithmType, std::unique_ptr<Phase2TrackerDigitizerAlgorithm> >
algomap_;
virtual void accumulate(edm::Event const &e, edm::EventSetup const &c) override
edm::ESWatcher< TrackerDigiGeometryRecord > theTkDigiGeomWatcher
const edm::ParameterSet & iconfig_
ModuleTypeCache moduleTypeCache_
virtual void finalizeEvent(edm::Event &e, edm::EventSetup const &c) override
virtual void initializeEvent(edm::Event const &e, edm::EventSetup const &c) override
void accumulatePixelHits(edm::Handle< std::vector< PSimHit > >, size_t globalSimHitIndex, const unsigned int tofBin)
void accumulate_local(T const &iEvent, edm::EventSetup const &iSetup)
std::unordered_map< unsigned, TrackerGeometry::ModuleType > ModuleTypeCache
std::map< unsigned int, const Phase2TrackerGeomDetUnit * > detectorUnits_
CLHEP::HepRandomEngine * rndEngine_
edm::ESHandle< TrackerTopology > tTopoHand
const std::string geometryType_
edm::ESHandle< TrackerGeometry > pDD_
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. ...
virtual ~Phase2TrackerDigitizer()
void addOuterTrackerCollection(edm::Event &iEvent, const edm::EventSetup &iSetup)
AlgorithmType getAlgoType(unsigned int idet)
virtual void beginLuminosityBlock(edm::LuminosityBlock const &lumi, edm::EventSetup const &iSetup) override
const vstring trackerContainers_
edm::ESHandle< MagneticField > pSetup_
std::map< AlgorithmType, std::unique_ptr< Phase2TrackerDigitizerAlgorithm > > algomap_
const std::string hitsProducer_
Phase2TrackerDigitizer(const edm::ParameterSet &iConfig, edm::stream::EDProducerBase &mixMod, edm::ConsumesCollector &iC)
void addPixelCollection(edm::Event &iEvent, const edm::EventSetup &iSetup, const bool ot_analog)
virtual void endLuminosityBlock(edm::LuminosityBlock const &lumi, edm::EventSetup const &iSetup) override
std::vector< std::string > vstring