|
ATLAS Offline Software
|
Go to the documentation of this file.
33 #ifndef MUONDIGITIZATION_MDT_DIGITIZATIONTOOL_H
34 #define MUONDIGITIZATION_MDT_DIGITIZATIONTOOL_H
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"
67 class MuonDetectorManager;
68 class MdtReadoutElement;
111 sagSign(sSag), trackingSign(sTrack), localPosition(lp), localSag(lSag) {}
121 int digitizeTime(
double time,
bool isHPTDC, CLHEP::HepRandomEngine* rndmEngine)
const;
129 CLHEP::HepRandomEngine* toolRndmEngine);
144 ToolHandle<IMDT_DigitizationTool>
m_digiTool{
this,
"DigitizationTool",
"MDT_Response_DigiTool",
145 "Tool which handle the digitization process"};
149 Gaudi::Property<double>
m_offsetTDC{
this,
"OffsetTDC", 800.,
"TDC offset used if no calibration data is found"};
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"};
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"};
161 Gaudi::Property<bool>
m_useProp{
this,
"UseProp",
true,
""};
164 Gaudi::Property<bool>
m_useTwin{
this,
"UseTwin",
false,
""};
166 Gaudi::Property<double>
m_resTwin{
this,
"ResolutionTwinTube", 1.05,
"Twin Tube resolution"};
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"};
185 Gaudi::Property<bool>
m_DoQballCharge{
this,
"DoQballCharge",
false,
"dEdx for Qballs with account of electric charge"};
188 std::unique_ptr<TimedHitCollection<MDTSimHit>>
m_thpcMDT{};
205 "Don't use the ReadHandleKey directly. Just extract the container name from it."};
209 "WriteHandleKey for Output MdtDigitContainer"};
211 "WriteHandleKey for Output MuonSimDataCollection"};
216 "Conditions object containing the calibrations"};
Ensure that the Athena extensions are properly loaded.
bool const RAWDATA *ch2 const
Property holding a SG store/key/clid from which a ReadHandle is made.
::StatusCode StatusCode
StatusCode definition for legacy code.
Eigen::Matrix< double, 3, 1 > Vector3D
def time(flags, cells_name, *args, **kw)
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
the preferred mechanism to access information from the different event stores in a pileup job.