ATLAS Offline Software
HGTD_TdcCalibrationTool.h
Go to the documentation of this file.
1 
13 #ifndef HGTD_TDCCALIBRATIONTOOL_H
14 #define HGTD_TDCCALIBRATIONTOOL_H
15 
16 #include <array>
17 #include <map>
18 #include <string>
19 #include <vector>
20 #include <algorithm>
21 #include <iostream>
22 
24 #include "AthenaKernel/Units.h"
25 
26 #include "CLHEP/Random/RandomEngine.h"
27 
31 #include "InDetSimEvent/SiHit.h"
33 
34 
35 class HGTD_ID;
36 
37 namespace InDetDD {
38 class SolidStateDetectorElementBase;
39 }
40 
41 namespace CLHEP {
42 class HepRandomEngine;
43 }
44 
46 public:
47 HGTD_TdcCalibrationTool(const std::string& type, const std::string& name,
48  const IInterface* parent);
49 
51  // Not overriding for now
52  // virtual StatusCode initialize() override final;
53 
63 
72  uint8_t Time2TOA(const InDetDD::SolidStateDetectorElementBase* element, float hit_time) const;
73 
82  float TOA2Time(const InDetDD::SolidStateDetectorElementBase* element, uint8_t toa) const;
83 
84  private:
85 
86  FloatProperty m_active_window{this, "PS_ActiveRange", 2.5 * Athena::Units::ns,
87  "ALTIROC PS active range (ns)" };
88 
89  FloatProperty m_lhc_rise_edge{this, "LHC_RiseEdge",12.5 * Athena::Units::ns,
90  "LHC clock rise edge time (ns)" };
91 
92  FloatProperty m_ps_large_step{this, "PS_LargeStep", 1.562 * Athena::Units::ns,
93  "ALTIROC PS large step (ns)"};
94 
95  FloatProperty m_ps_small_step{this, "PS_SmallStep", 0.097 * Athena::Units::ns,
96  "ALTIROC PS small step (ns)"};
97 
98  FloatProperty m_toa_bin_size {this, "TOABinSize", 0.02 * Athena::Units::ns,
99  "Nominal TDC TOA bin size (ns)"};
100 
101 };
102 
103 #endif // HGTD_TDCCALIBRATIONTOOL_H
104 
HGTD_TdcCalibrationTool::TOA2Time
float TOA2Time(const InDetDD::SolidStateDetectorElementBase *element, uint8_t toa) const
Retrieve time of flight from 7-bit TOA code applying the TDC calibration parameters.
Definition: HGTD_TdcCalibrationTool.cxx:80
HGTD_TdcCalibrationTool::activeWindowUpperBound
float activeWindowUpperBound(const InDetDD::SolidStateDetectorElementBase *element) const
AlgTool initialize.
Definition: HGTD_TdcCalibrationTool.cxx:25
HGTD_ALTIROC_RDO_Container.h
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration.
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:558
InDetDD::SolidStateDetectorElementBase
Definition: SolidStateDetectorElementBase.h:132
HGTD_TdcCalibrationTool::m_active_window
FloatProperty m_active_window
Definition: HGTD_TdcCalibrationTool.h:86
SiHit.h
HGTD_TdcCalibrationTool::Time2TOA
uint8_t Time2TOA(const InDetDD::SolidStateDetectorElementBase *element, float hit_time) const
Simulate the TDC digitization.
Definition: HGTD_TdcCalibrationTool.cxx:62
HGTD_TdcCalibrationTool::m_ps_small_step
FloatProperty m_ps_small_step
Definition: HGTD_TdcCalibrationTool.h:95
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
HGTD_TdcCalibrationTool::HGTD_TdcCalibrationTool
HGTD_TdcCalibrationTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: HGTD_TdcCalibrationTool.cxx:15
HGTD_TdcCalibrationTool
Definition: HGTD_TdcCalibrationTool.h:45
HGTD_TdcCalibrationTool::m_toa_bin_size
FloatProperty m_toa_bin_size
Definition: HGTD_TdcCalibrationTool.h:98
HGTD_TdcCalibrationTool::m_lhc_rise_edge
FloatProperty m_lhc_rise_edge
Definition: HGTD_TdcCalibrationTool.h:89
CLHEP
STD'S.
Definition: CaloNoiseCompCondAlg.h:58
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
HGTD_ID
Definition: HGTD_ID.h:47
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
Units.h
Wrapper to avoid constant divisions when using units.
HGTD_ALTIROC_RDO_Collection.h
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration.
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
HGTD_TdcCalibrationTool::m_ps_large_step
FloatProperty m_ps_large_step
Definition: HGTD_TdcCalibrationTool.h:92
AthAlgTool
Definition: AthAlgTool.h:26
SiSurfaceCharge.h
python.SystemOfUnits.ns
float ns
Definition: SystemOfUnits.py:146
SiChargedDiodeCollection.h