1 #ifndef SimMuon_DTDigitizer_h
2 #define SimMuon_DTDigitizer_h
46 typedef std::pair<const PSimHit*,float>
hitAndT;
49 typedef std::map<DTWireId, std::vector<const PSimHit*> >
DTWireIdMap;
56 if (h1.second < h2.second)
return true;
void dumpHit(const PSimHit *hit, float xEntry, float xExit, const DTTopology &topo)
std::pair< float, bool > computeTime(const DTLayer *layer, const DTWireId &wireId, const PSimHit *hit, const LocalVector &BLoc)
float asymGausSmear(double mean, double sigmaLeft, double sigmaRight) const
CLHEP::RandGaussQ * theGaussianDistribution
std::pair< float, bool > driftTimeFromParametrization(float x, float alpha, float By, float Bz) const
std::pair< const PSimHit *, float > hitAndT
void storeDigis(DTWireId &wireId, TDContainer &hits, DTDigiCollection &output, DTDigiSimLinkCollection &outputLinks)
DTDigitizer(const edm::ParameterSet &)
DTWireIdMap::const_iterator DTWireIdMapConstIter
bool operator()(const hitAndT &h1, const hitAndT &h2)
std::vector< hitAndT > TDContainer
float externalDelays(const DTLayer *layer, const DTWireId &wireId, const PSimHit *hit) const
friend class DTDigitizerAnalysis
virtual void produce(edm::Event &, const edm::EventSetup &)
CLHEP::RandFlat * theFlatDistribution
DTWireIdMap::iterator DTWireIdMapIter
std::pair< float, bool > driftTimeFromTimeMap() const
std::map< DTWireId, std::vector< const PSimHit * > > DTWireIdMap
std::string collection_for_XF