1 #ifndef SimMuon_DTDigitizer_h 2 #define SimMuon_DTDigitizer_h 36 class HepRandomEngine;
59 typedef std::pair<const PSimHit *, float>
hitAndT;
62 typedef std::map<DTWireId, std::vector<const PSimHit *>>
DTWireIdMap;
69 if (h1.second < h2.second)
81 CLHEP::HepRandomEngine *);
87 float x,
float alpha,
float By,
float Bz, CLHEP::HepRandomEngine *)
const;
105 float asymGausSmear(
double mean,
double sigmaLeft,
double sigmaRight, CLHEP::HepRandomEngine *)
const;
std::pair< float, bool > computeTime(const DTLayer *layer, const DTWireId &wireId, const PSimHit *hit, const LocalVector &BLoc, CLHEP::HepRandomEngine *)
void dumpHit(const PSimHit *hit, float xEntry, float xExit, const DTTopology &topo)
std::pair< float, bool > driftTimeFromParametrization(float x, float alpha, float By, float Bz, CLHEP::HepRandomEngine *) const
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
void storeDigis(DTWireId &wireId, TDContainer &hits, DTDigiCollection &output, DTDigiSimLinkCollection &outputLinks)
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magnField_token
float asymGausSmear(double mean, double sigmaLeft, double sigmaRight, CLHEP::HepRandomEngine *) const
edm::EDGetTokenT< CrossingFrame< PSimHit > > cf_token
DTDigitizer(const edm::ParameterSet &)
DTWireIdMap::const_iterator DTWireIdMapConstIter
std::unique_ptr< DTDigiSyncBase > theSync
bool operator()(const hitAndT &h1, const hitAndT &h2)
std::vector< hitAndT > TDContainer
void produce(edm::Event &, const edm::EventSetup &) override
std::pair< float, bool > driftTimeFromTimeMap() const
friend class DTDigitizerAnalysis
float externalDelays(const DTLayer *layer, const DTWireId &wireId, const PSimHit *hit) const
edm::ESGetToken< DTGeometry, MuonGeometryRecord > muonGeom_token
DTWireIdMap::iterator DTWireIdMapIter
std::map< DTWireId, std::vector< const PSimHit * > > DTWireIdMap
std::pair< const PSimHit *, float > hitAndT
std::string collection_for_XF
A container for a generic type of digis indexed by some index, implemented with a map<IndexType...