ATLAS Offline Software
MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
33 #ifndef MUONDIGITIZATION_MDT_DIGITIZATIONTOOL_H
34 #define MUONDIGITIZATION_MDT_DIGITIZATIONTOOL_H
35 
36 #include <sstream>
37 #include <string>
38 #include <vector>
39 
41 #include "CLHEP/Geometry/Point3D.h"
42 #include "CLHEP/Random/RandGaussZiggurat.h"
43 #include "CLHEP/Random/RandomEngine.h"
44 #include "GaudiKernel/PhysicalConstants.h"
45 #include "GaudiKernel/ServiceHandle.h"
46 #include "GaudiKernel/ToolHandle.h"
48 #include "Identifier/Identifier.h"
54 #include "MuonSimEvent/MDTSimHit.h"
59 #include "xAODEventInfo/EventInfo.h" // NEW EDM
60 
61 // Outputs
65 
66 namespace MuonGM {
67  class MuonDetectorManager;
68  class MdtReadoutElement;
69 } // namespace MuonGM
70 
71 class MdtHitIdHelper;
72 // Digitization class for MDT hits
73 /*
74  +DSL--------------------------------------------------------------------------
75  The drift time can be modified according to the amount of wire sag,
76  the track angle, the distance from the end of the tube, the tube length, the
77  chamber phi angle. This drift time delta is turned on/off via m_useWireSagRT
78  It operates only on small wheel and big wheel end cap chambers (EIL/EIS; EML/EMS)
79  The EOL/EOS chambers are presumably built with tubes bent to conform to the wire sag-
80  so this code does not introduce wire-sag induced RT distortions for these chambers
81 
82  -DSL----------------------------------------------------------------------------
83 
84 */
86 
88 public:
89  MdtDigitizationTool(const std::string& type, const std::string& name, const IInterface* pIID);
90  virtual ~MdtDigitizationTool() = default;
91 
93  virtual StatusCode initialize() override final;
94 
96  StatusCode prepareEvent(const EventContext& ctx, const unsigned int /*nInputEvents*/) override final;
97 
100  virtual StatusCode processBunchXing(int bunchXing, SubEventIterator bSubEvents, SubEventIterator eSubEvents) override final;
103  StatusCode mergeEvent(const EventContext& ctx) override final;
104 
107  virtual StatusCode processAllSubEvents(const EventContext& ctx) override final;
108 
109  struct GeoCorOut {
110  GeoCorOut(double sSag, double sTrack, Amg::Vector3D lp, double lSag) :
111  sagSign(sSag), trackingSign(sTrack), localPosition(lp), localSag(lSag) {}
112  double sagSign; // sign indicating wether the particle passed above or below the wire
113  double trackingSign; // sign in tracking convention indicating whether the particle passed left ot right of the wire
114  Amg::Vector3D localPosition; // point of closest approach of the particle to the wire
115  double localSag;
116  };
117 
118 private:
119  using Collections_t = std::vector<std::unique_ptr<MdtDigitCollection> >;
120  CLHEP::HepRandomEngine* getRandomEngine(const std::string& streamName, const EventContext& ctx) const;
121  int digitizeTime(double time, bool isHPTDC, CLHEP::HepRandomEngine* rndmEngine) const;
122  double minimumTof(Identifier DigitId, const MuonGM::MuonDetectorManager* detMgr) const;
123 
124  bool insideMatchingWindow(double time) const;
125  bool insideMaskWindow(double time) const;
126  bool checkMDTSimHit(const EventContext& ctx, const MDTSimHit& hit) const;
127 
128  bool handleMDTSimHit(const EventContext& ctx, const TimedHitPtr<MDTSimHit>& phit, CLHEP::HepRandomEngine* twinRndmEngine,
129  CLHEP::HepRandomEngine* toolRndmEngine);
130  bool createDigits(const EventContext& ctx, Collections_t& collections, MuonSimDataCollection* sdoContainer, CLHEP::HepRandomEngine* rndmEngine);
131 
132  // calculate local hit position in local sagged wire frame, also returns whether the hit passed above or below the wire
133  GeoCorOut correctGeometricalWireSag(const MDTSimHit& hit, const Identifier& id, const MuonGM::MdtReadoutElement* element) const;
134 
136 
137  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
139 
141 
143 
144  ToolHandle<IMDT_DigitizationTool> m_digiTool{this, "DigitizationTool", "MDT_Response_DigiTool",
145  "Tool which handle the digitization process"};
146  std::vector<MDTSimHitCollection*> m_MDTHitCollList;
147 
148  // TDC ELECTRONICS
149  Gaudi::Property<double> m_offsetTDC{this, "OffsetTDC", 800., "TDC offset used if no calibration data is found"};
150  Gaudi::Property<double> m_signalSpeed{this, "SignalSpeed", 0.85*Gaudi::Units::c_light};
151 
152  Gaudi::Property<double> m_ns2TDCAMT{this, "ns2TDCAMT", 0.78125, "Conversion factor TDC/ns for AMT chips"};
153  Gaudi::Property<double> m_ns2TDCHPTDC{this, "ns2TDCHPTDC", 0.1953125, "Conversion factor TDC/ns for HPTDC chips"};
154  Gaudi::Property<double> m_resTDC{this, "ResolutionTDC", 0.5, "TDC resolution"};
155  Gaudi::Property<double> m_t0ShiftTuning{this,"TunedT0Shift",-17.,"Fine tuned t0 shift value in ns"};
156 
157  // CONFIGURATION
158  Gaudi::Property<bool> m_checkMDTSimHits{this, "CheckSimHits", true, "Control on the hit validity"};
159  Gaudi::Property<bool> m_useTof{this, "UseTof", true, "Option for the tof calculation"};
160  Gaudi::Property<bool> m_useAttenuation{this, "UseAttenuation", false, ""};
161  Gaudi::Property<bool> m_useProp{this, "UseProp", true, ""};
162 
163  // TWIN TUBE
164  Gaudi::Property<bool> m_useTwin{this, "UseTwin", false, ""};
165  Gaudi::Property<bool> m_useAllBOLTwin{this, "UseAllBOLTwin", false, ""};
166  Gaudi::Property<double> m_resTwin{this, "ResolutionTwinTube", 1.05, "Twin Tube resolution"};
167 
168  // TIMING SCHEME
169  Gaudi::Property<bool> m_useTimeWindow{this, "UseTimeWindow", true, ""};
170  Gaudi::Property<double> m_bunchCountOffset{this, "BunchCountOffset", -200., "Bunch crossing offset"};
171  Gaudi::Property<double> m_matchingWindow{this, "MatchingWindow", 1000., "Matching window"};
172  Gaudi::Property<double> m_maskWindow{this, "MaskWindow", 250., "Masked window"};
173  Gaudi::Property<double> m_deadTime{this, "DeadTime", 700., "MDT drift tube dead time"};
174  Gaudi::Property<bool> m_DiscardEarlyHits{this, "DiscardEarlyHits", true, ""};
175 
176  // COSMICS
177  Gaudi::Property<bool> m_useOffSet1{this, "UseOffSet1", true, ""};
178  Gaudi::Property<bool> m_useOffSet2{this, "UseOffSet2", true, ""};
179 
180 
181  // B-lines
182  Gaudi::Property<bool> m_useDeformations{this, "UseDeformations", false, ""};
183 
184  // MULTI-CHARGE PARTICLES DIGITIZATION
185  Gaudi::Property<bool> m_DoQballCharge{this, "DoQballCharge", false, "dEdx for Qballs with account of electric charge"};
186 
187  // pile-up
188  std::unique_ptr<TimedHitCollection<MDTSimHit>> m_thpcMDT{}; // the hits
189 
190  // pileup truth veto
191  Gaudi::Property<bool> m_includePileUpTruth{this, "IncludePileUpTruth", true, "Include pile-up truth info"};
192 
194  // Access to the event methods:
196  // Get next event and extract collection of hit collections:
197  StatusCode getNextEvent(const EventContext& ctx);
198  StatusCode doDigitization(const EventContext& ctx, Collections_t& collections, MuonSimDataCollection* sdoContainer);
200  void fillMaps(const MDTSimHit* mdtHit, const Identifier digitId, const double driftR);
201 
202 protected:
203  ServiceHandle<PileUpMergeSvc> m_mergeSvc{this, "PileUpMergeSvc", "PileUpMergeSvc", ""}; // Pile up service
204  BooleanProperty m_onlyUseContainerName{this, "OnlyUseContainerName", true,
205  "Don't use the ReadHandleKey directly. Just extract the container name from it."};
206  SG::ReadHandleKey<MDTSimHitCollection> m_hitsContainerKey{this, "InputObjectName", "MDT_Hits", ""}; // name of the input objects
207  std::string m_inputObjectName{""};
208  SG::WriteHandleKey<MdtDigitContainer> m_outputObjectKey{this, "OutputObjectName", "MDT_DIGITS",
209  "WriteHandleKey for Output MdtDigitContainer"};
211  "WriteHandleKey for Output MuonSimDataCollection"};
212 
213  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc", ""}; // Random number service
214 
216  "Conditions object containing the calibrations"};
217 
218  SG::ReadCondHandleKey<MdtCondDbData> m_readKey{this, "ReadKey", "MdtCondDbData", "Key of MdtCondDbData"};
219 };
220 
221 #endif
MdtDigitizationTool::initialize
virtual StatusCode initialize() override final
Initialize.
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:67
MdtDigitizationTool::m_bunchCountOffset
Gaudi::Property< double > m_bunchCountOffset
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:170
MdtDigitizationTool::m_ns2TDCAMT
Gaudi::Property< double > m_ns2TDCAMT
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:152
MdtDigitizationTool::MdtDigitizationTool
MdtDigitizationTool(const std::string &type, const std::string &name, const IInterface *pIID)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:64
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
MdtDigitizationTool::getRandomEngine
CLHEP::HepRandomEngine * getRandomEngine(const std::string &streamName, const EventContext &ctx) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:236
MdtDigitizationTool::insideMaskWindow
bool insideMaskWindow(double time) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:791
MdtHitIdHelper
Definition: MdtHitIdHelper.h:13
MdtDigitizationTool::m_outputSDOKey
SG::WriteHandleKey< MuonSimDataCollection > m_outputSDOKey
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:210
MdtDigitizationTool::m_t0ShiftTuning
Gaudi::Property< double > m_t0ShiftTuning
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:155
MDTSimHit
Definition: MDTSimHit.h:21
MdtDigitizationTool::m_useAllBOLTwin
Gaudi::Property< bool > m_useAllBOLTwin
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:165
MdtDigitizationTool::processAllSubEvents
virtual StatusCode processAllSubEvents(const EventContext &ctx) override final
alternative interface which uses the PileUpMergeSvc to obtain all the required SubEvents.
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:278
MdtCalibDataContainer.h
MdtDigitizationTool::m_maskWindow
Gaudi::Property< double > m_maskWindow
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:172
MdtDigitizationTool::m_signalSpeed
Gaudi::Property< double > m_signalSpeed
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:150
MdtDigitizationTool::GeoCorOut::trackingSign
double trackingSign
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:113
MdtDigitizationTool
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:87
MdtDigitizationTool::m_digiTool
ToolHandle< IMDT_DigitizationTool > m_digiTool
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:144
MdtDigitizationTool::fillMaps
void fillMaps(const MDTSimHit *mdtHit, const Identifier digitId, const double driftR)
TimedHitPtr< MDTSimHit >
MdtDigitizationTool::minimumTof
double minimumTof(Identifier DigitId, const MuonGM::MuonDetectorManager *detMgr) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:765
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
MdtDigitizationTool::m_matchingWindow
Gaudi::Property< double > m_matchingWindow
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:171
MdtDigitizationTool::m_deadTime
Gaudi::Property< double > m_deadTime
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:173
MDT_Response.h
MdtDigitizationTool::applyDeformations
static MDTSimHit applyDeformations(const MDTSimHit &, const MuonGM::MdtReadoutElement *, const Identifier &)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:801
MdtDigitizationTool::m_useProp
Gaudi::Property< bool > m_useProp
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:161
MdtDigitizationTool::getNextEvent
StatusCode getNextEvent(const EventContext &ctx)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:184
MdtDigitizationTool::m_useTof
Gaudi::Property< bool > m_useTof
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:159
IMDT_DigitizationTool.h
MdtDigitizationTool::m_checkMDTSimHits
Gaudi::Property< bool > m_checkMDTSimHits
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:158
MdtDigitizationTool::m_offsetTDC
Gaudi::Property< double > m_offsetTDC
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:149
MDTSimHit.h
MdtDigitizationTool::m_DoQballCharge
Gaudi::Property< bool > m_DoQballCharge
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:185
MdtDigitizationTool::insideMatchingWindow
bool insideMatchingWindow(double time) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:782
MdtDigitizationTool::m_MDTHitCollList
std::vector< MDTSimHitCollection * > m_MDTHitCollList
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:146
SG::WriteHandleKey< MdtDigitContainer >
MdtDigitizationTool::m_inputObjectName
std::string m_inputObjectName
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:207
MuonGM::MdtReadoutElement
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h:51
MdtDigitizationTool::m_resTDC
Gaudi::Property< double > m_resTDC
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:154
MdtDigitizationTool::GeoCorOut::localSag
double localSag
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:115
MDT_SortedHitVector
Definition: MDT_SortedHitVector.h:34
MdtDigitizationTool::m_calibDbKey
SG::ReadCondHandleKey< MuonCalib::MdtCalibDataContainer > m_calibDbKey
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:215
MdtDigitizationTool::m_MuonGeoMgr
const MuonGM::MuonDetectorManager * m_MuonGeoMgr
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:142
MdtDigitizationTool::m_resTwin
Gaudi::Property< double > m_resTwin
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:166
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MdtDigitizationTool::m_useOffSet2
Gaudi::Property< bool > m_useOffSet2
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:178
MdtDigitizationTool::m_outputObjectKey
SG::WriteHandleKey< MdtDigitContainer > m_outputObjectKey
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:208
MuonSimDataCollection
Definition: MuonSimDataCollection.h:21
MdtDigitizationTool::m_mergeSvc
ServiceHandle< PileUpMergeSvc > m_mergeSvc
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:203
MdtDigitizationTool::m_useTimeWindow
Gaudi::Property< bool > m_useTimeWindow
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:169
MdtDigitizationTool::~MdtDigitizationTool
virtual ~MdtDigitizationTool()=default
TimedHitCollection.h
MdtDigitizationTool::m_useDeformations
Gaudi::Property< bool > m_useDeformations
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:182
MdtDigitizationTool::m_useAttenuation
Gaudi::Property< bool > m_useAttenuation
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:160
MdtDigitizationTool::m_thpcMDT
std::unique_ptr< TimedHitCollection< MDTSimHit > > m_thpcMDT
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:188
MdtDigitizationTool::GeoCorOut::GeoCorOut
GeoCorOut(double sSag, double sTrack, Amg::Vector3D lp, double lSag)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:110
MdtDigitizationTool::m_readKey
SG::ReadCondHandleKey< MdtCondDbData > m_readKey
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:218
MdtDigitizationTool::correctGeometricalWireSag
GeoCorOut correctGeometricalWireSag(const MDTSimHit &hit, const Identifier &id, const MuonGM::MdtReadoutElement *element) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:813
PileUpToolBase
Definition: PileUpToolBase.h:18
MdtDigitizationTool::m_includePileUpTruth
Gaudi::Property< bool > m_includePileUpTruth
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:191
MDTSimHitCollection.h
MdtDigitizationTool::m_onlyUseContainerName
BooleanProperty m_onlyUseContainerName
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:204
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
MdtDigitCollection
Definition: MdtDigitCollection.h:18
MdtDigitizationTool::digitizeTime
int digitizeTime(double time, bool isHPTDC, CLHEP::HepRandomEngine *rndmEngine) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:757
MdtDigitizationTool::m_hitsContainerKey
SG::ReadHandleKey< MDTSimHitCollection > m_hitsContainerKey
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:206
python.PhysicalConstants.c_light
float c_light
Definition: PhysicalConstants.py:63
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
MdtDigitizationTool::GeoCorOut::sagSign
double sagSign
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:112
MdtDigitizationTool::checkMDTSimHit
bool checkMDTSimHit(const EventContext &ctx, const MDTSimHit &hit) const
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:530
EventInfo.h
MdtDigitizationTool::m_useOffSet1
Gaudi::Property< bool > m_useOffSet1
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:177
MdtDigitizationTool::doDigitization
StatusCode doDigitization(const EventContext &ctx, Collections_t &collections, MuonSimDataCollection *sdoContainer)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:312
MdtDigitizationTool::m_useTwin
Gaudi::Property< bool > m_useTwin
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:164
SG::ReadCondHandleKey< MuonCalib::MdtCalibDataContainer >
MdtDigitizationTool::prepareEvent
StatusCode prepareEvent(const EventContext &ctx, const unsigned int) override final
When being run from PileUpToolsAlgs, this method is called at the start of the subevts loop.
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:143
MdtDigitizationTool::m_hits
MDT_SortedHitVector m_hits
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:135
MdtDigitizationTool::GeoCorOut
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:109
AthenaPoolExample_Copy.streamName
string streamName
Definition: AthenaPoolExample_Copy.py:39
MdtDigitizationTool::m_DiscardEarlyHits
Gaudi::Property< bool > m_DiscardEarlyHits
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:174
MdtDigitizationTool::handleMDTSimHit
bool handleMDTSimHit(const EventContext &ctx, const TimedHitPtr< MDTSimHit > &phit, CLHEP::HepRandomEngine *twinRndmEngine, CLHEP::HepRandomEngine *toolRndmEngine)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:349
MdtDigitizationTool::m_ns2TDCHPTDC
Gaudi::Property< double > m_ns2TDCHPTDC
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:153
MDT_SortedHitVector.h
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
MdtDigitContainer.h
MuonGM::MuonDetectorManager
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MuonDetectorManager.h:50
MdtDigitizationTool::mergeEvent
StatusCode mergeEvent(const EventContext &ctx) override final
When being run from PileUpToolsAlgs, this method is called at the end of the subevts loop.
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:243
PileUpMergeSvc.h
the preferred mechanism to access information from the different event stores in a pileup job.
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MdtDigitizationTool::createDigits
bool createDigits(const EventContext &ctx, Collections_t &collections, MuonSimDataCollection *sdoContainer, CLHEP::HepRandomEngine *rndmEngine)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:591
MdtDigitizationTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:137
SubEventIterator
std::vector< xAOD::EventInfo::SubEvent >::const_iterator SubEventIterator
Definition: IPileUpTool.h:22
MdtDigitizationTool::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:213
MuonSimDataCollection.h
MdtCondDbData.h
PileUpToolBase.h
helper base class IPileUpTool::toProcess().
MdtDigitizationTool::GeoCorOut::localPosition
Amg::Vector3D localPosition
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:114
MdtDigitizationTool::m_muonHelper
const MdtHitIdHelper * m_muonHelper
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:138
MdtDigitizationTool::processBunchXing
virtual StatusCode processBunchXing(int bunchXing, SubEventIterator bSubEvents, SubEventIterator eSubEvents) override final
When being run from PileUpToolsAlgs, this method is called for each active bunch-crossing to process ...
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:152
IMuonIdHelperSvc.h
MdtDigitizationTool::getDigitCollection
MdtDigitCollection * getDigitCollection(Identifier elementId, Collections_t &collections)
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.cxx:736
MuonSimData.h
IAthRNGSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >
MdtDigitizationTool::Collections_t
std::vector< std::unique_ptr< MdtDigitCollection > > Collections_t
Definition: MuonDigitization/MDT_Digitization/src/MdtDigitizationTool.h:119
Identifier
Definition: IdentifierFieldParser.cxx:14