ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
HighGranularityTimingDetector
HGTD_Calibration
HGTD_Calibration
HGTD_TdcCalibrationTool.h
Go to the documentation of this file.
1
12
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
23
#include "
AthenaBaseComps/AthAlgTool.h
"
24
#include "
AthenaKernel/Units.h
"
25
26
#include "CLHEP/Random/RandomEngine.h"
27
28
#include "
HGTD_RawData/HGTD_ALTIROC_RDO_Collection.h
"
29
#include "
HGTD_RawData/HGTD_ALTIROC_RDO_Container.h
"
30
#include "
SiDigitization/SiChargedDiodeCollection.h
"
31
#include "
InDetSimEvent/SiHit.h
"
32
#include "
SiDigitization/SiSurfaceCharge.h
"
33
34
namespace
HGTD
{
35
constexpr
unsigned
int
TOA_OVERLFLOW_MASK
= 0x80;
36
}
37
38
class
HGTD_ID
;
39
40
namespace
InDetDD
{
41
class
SolidStateDetectorElementBase;
42
}
43
44
namespace
CLHEP
{
45
class
HepRandomEngine;
46
}
47
48
class
HGTD_TdcCalibrationTool
:
public
AthAlgTool
{
49
public
:
50
HGTD_TdcCalibrationTool
(
const
std::string&
type
,
const
std::string& name,
51
const
IInterface* parent);
52
54
// Not overriding for now
55
// virtual StatusCode initialize() override final;
56
64
65
float
activeWindowUpperBound
(
const
InDetDD::SolidStateDetectorElementBase
* element)
const
;
66
75
uint8_t
Time2TOA
(
const
InDetDD::SolidStateDetectorElementBase
* element,
float
hit_time)
const
;
76
85
float
TOA2Time
(
const
InDetDD::SolidStateDetectorElementBase
* element, uint8_t toa)
const
;
86
94
bool
checkTOAoverflow
(uint8_t toa)
const
{
95
return
toa &
HGTD::TOA_OVERLFLOW_MASK
;
96
}
97
98
99
private
:
100
101
FloatProperty
m_active_window
{
this
,
"PS_ActiveRange"
, 2.5 * Athena::Units::nanosecond,
102
"ALTIROC PS active range"
};
103
104
FloatProperty
m_lhc_rise_edge
{
this
,
"LHC_RiseEdge"
,12.5 * Athena::Units::nanosecond,
105
"LHC clock rise edge time"
};
106
107
FloatProperty
m_ps_large_step
{
this
,
"PS_LargeStep"
, 1.562 * Athena::Units::nanosecond,
108
"ALTIROC PS large step"
};
109
110
FloatProperty
m_ps_small_step
{
this
,
"PS_SmallStep"
, 9.7 * Athena::Units::picosecond,
111
"ALTIROC PS small step"
};
112
113
FloatProperty
m_toa_bin_size
{
this
,
"TOABinSize"
, 20 * Athena::Units::picosecond,
114
"Nominal TDC TOA bin size"
};
115
116
};
117
118
#endif
// HGTD_TDCCALIBRATIONTOOL_H
119
AthAlgTool.h
HGTD_ALTIROC_RDO_Collection.h
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration.
HGTD_ALTIROC_RDO_Container.h
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration.
SiChargedDiodeCollection.h
SiHit.h
SiSurfaceCharge.h
Units.h
Wrapper to avoid constant divisions when using units.
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
HGTD_ID
This is an Identifier helper class for the HGTD subdetector.
Definition
HGTD_ID.h:47
HGTD_TdcCalibrationTool::m_lhc_rise_edge
FloatProperty m_lhc_rise_edge
Definition
HGTD_TdcCalibrationTool.h:104
HGTD_TdcCalibrationTool::m_active_window
FloatProperty m_active_window
Definition
HGTD_TdcCalibrationTool.h:101
HGTD_TdcCalibrationTool::HGTD_TdcCalibrationTool
HGTD_TdcCalibrationTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
HGTD_TdcCalibrationTool.cxx:15
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:89
HGTD_TdcCalibrationTool::m_ps_small_step
FloatProperty m_ps_small_step
Definition
HGTD_TdcCalibrationTool.h:110
HGTD_TdcCalibrationTool::m_toa_bin_size
FloatProperty m_toa_bin_size
Definition
HGTD_TdcCalibrationTool.h:113
HGTD_TdcCalibrationTool::m_ps_large_step
FloatProperty m_ps_large_step
Definition
HGTD_TdcCalibrationTool.h:107
HGTD_TdcCalibrationTool::activeWindowUpperBound
float activeWindowUpperBound(const InDetDD::SolidStateDetectorElementBase *element) const
AlgTool initialize.
Definition
HGTD_TdcCalibrationTool.cxx:25
HGTD_TdcCalibrationTool::checkTOAoverflow
bool checkTOAoverflow(uint8_t toa) const
Check for the overflow flag within TOA code, which indicates an out of range measurement.
Definition
HGTD_TdcCalibrationTool.h:94
HGTD_TdcCalibrationTool::Time2TOA
uint8_t Time2TOA(const InDetDD::SolidStateDetectorElementBase *element, float hit_time) const
Simulate the TDC digitization.
Definition
HGTD_TdcCalibrationTool.cxx:62
InDetDD::SolidStateDetectorElementBase
Class to hold geometrical description of a solid state detector element.
Definition
SolidStateDetectorElementBase.h:132
CLHEP
STD'S.
Definition
CaloNoiseCompCondAlg.h:57
HGTD
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration.
Definition
HGTD_TdcCalibrationTool.h:34
HGTD::TOA_OVERLFLOW_MASK
constexpr unsigned int TOA_OVERLFLOW_MASK
Definition
HGTD_TdcCalibrationTool.h:35
InDetDD
Message Stream Member.
Definition
FakeTrackBuilder.h:8
type
Generated on
for ATLAS Offline Software by
1.17.0