ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsDataPreparation
src
HgtdTimedClusteringTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ACTSTRK_DATAPREPARATION_HGTD_TIMEDCLUSTERING_TOOL_H
6
#define ACTSTRK_DATAPREPARATION_HGTD_TIMEDCLUSTERING_TOOL_H
7
8
#include "
AthenaBaseComps/AthAlgTool.h
"
9
#include "
ActsToolInterfaces/IHGTDClusteringTool.h
"
10
11
#include "
HGTD_Identifier/HGTD_ID.h
"
12
#include "
HGTD_ReadoutGeometry/HGTD_DetectorManager.h
"
13
#include "
HGTD_Calibration/HGTD_TdcCalibrationTool.h
"
14
15
#include "Acts/Definitions/Units.hpp"
16
17
namespace
Hgtd
{
18
struct
UnpackedHgtdRDO
{
19
UnpackedHgtdRDO
(
int
ncl,
int
row,
int
col,
float
toa,
int
tot,
Identifier
id
)
20
:
NCL
(ncl),
ROW
(row),
COL
(col),
TOA
(toa),
TOT
(tot),
ID
(id)
21
{};
22
23
int
NCL
{0};
24
int
ROW
{0};
25
int
COL
{0};
26
float
TOA
{0.f};
27
int
TOT
{0};
28
Identifier
ID
{};
29
};
30
}
31
32
namespace
ActsTrk
{
33
struct
HgtdAuxDataCache
;
34
35
class
HgtdTimedClusteringTool
:
36
public
extends<AthAlgTool, IHGTDClusteringTool> {
37
public
:
38
39
using
Cell
=
Hgtd::UnpackedHgtdRDO
;
40
using
CellCollection
= std::vector<Cell>;
41
using
Cluster
=
IHGTDClusteringTool::Cluster
;
42
using
ClusterCollection
=
IHGTDClusteringTool::ClusterCollection
;
43
44
public
:
45
HgtdTimedClusteringTool
(
const
std::string&
type
,
46
const
std::string& name,
47
const
IInterface* parent);
48
49
virtual
StatusCode
initialize
()
override
;
50
51
virtual
StatusCode
clusterize
(
const
EventContext& ctx,
52
const
RawDataCollection& RDOs,
53
std::vector<ClusterCollection>& collection)
const override
;
54
55
virtual
StatusCode
clusterize
(
const
EventContext& ctx,
56
const
HGTD_ALTIROC_RDO_Collection
& RDOs,
57
std::vector<ClusterCollection>& collection)
const override
;
58
59
virtual
std::any
createEventDataCache
(
xAOD::HGTDClusterContainer
& cont,
60
std::size_t nClusterRDOs)
const override
;
61
62
virtual
StatusCode
makeClusters
(
const
EventContext& ctx,
63
const
ClusterCollection
& clusters,
64
xAOD::HGTDClusterContainer
& container,
65
size_t
& icluster,
66
std::any& cache)
const override
;
67
68
private
:
69
// N.B. the cluster is added to the container
70
StatusCode
makeCluster
(
const
EventContext& ctx,
71
const
typename
HgtdTimedClusteringTool::Cluster
&cluster,
72
xAOD::HGTDCluster
& xaodcluster,
73
HgtdAuxDataCache
*cache)
const
;
74
75
private
:
76
const
HGTD_DetectorManager
*
m_hgtd_det_mgr
{
nullptr
};
77
const
HGTD_ID
*
m_hgtd_id
{
nullptr
};
78
ToolHandle<HGTD_TdcCalibrationTool>
m_hgtd_tdc_calib_tool
{
this
,
79
"HGTD_TdcCalibrationTool"
,
"HGTD_TdcCalibrationTool"
,
80
"Tool that that access TOA TDC calibration and retrieves time of arrival"
};
81
82
BooleanProperty
m_use_altiroc_rdo
{
this
,
"useALTIROC_RDO"
,
false
,
"Use Altiroc RDO instead of standard"
};
83
84
Gaudi::Property<double>
m_timeTollerance
{
this
,
"TimeTollerance"
, 0.035 * Athena::Units::nanosecond};
85
Gaudi::Property<bool>
m_addCorners
{
this
,
"AddCorners"
,
true
};
86
};
87
88
}
89
90
#endif
91
AthAlgTool.h
HGTD_DetectorManager.h
HGTD_ID.h
HGTD_TdcCalibrationTool.h
IHGTDClusteringTool.h
ActsTrk::HgtdTimedClusteringTool::m_addCorners
Gaudi::Property< bool > m_addCorners
Definition
HgtdTimedClusteringTool.h:85
ActsTrk::HgtdTimedClusteringTool::m_use_altiroc_rdo
BooleanProperty m_use_altiroc_rdo
Definition
HgtdTimedClusteringTool.h:82
ActsTrk::HgtdTimedClusteringTool::Cluster
IHGTDClusteringTool::Cluster Cluster
Definition
HgtdTimedClusteringTool.h:41
ActsTrk::HgtdTimedClusteringTool::createEventDataCache
virtual std::any createEventDataCache(xAOD::HGTDClusterContainer &cont, std::size_t nClusterRDOs) const override
Definition
HgtdTimedClusteringTool.cxx:51
ActsTrk::HgtdTimedClusteringTool::clusterize
virtual StatusCode clusterize(const EventContext &ctx, const RawDataCollection &RDOs, std::vector< ClusterCollection > &collection) const override
Definition
HgtdTimedClusteringTool.cxx:55
ActsTrk::HgtdTimedClusteringTool::m_hgtd_det_mgr
const HGTD_DetectorManager * m_hgtd_det_mgr
Definition
HgtdTimedClusteringTool.h:76
ActsTrk::HgtdTimedClusteringTool::makeClusters
virtual StatusCode makeClusters(const EventContext &ctx, const ClusterCollection &clusters, xAOD::HGTDClusterContainer &container, size_t &icluster, std::any &cache) const override
Definition
HgtdTimedClusteringTool.cxx:84
ActsTrk::HgtdTimedClusteringTool::makeCluster
StatusCode makeCluster(const EventContext &ctx, const typename HgtdTimedClusteringTool::Cluster &cluster, xAOD::HGTDCluster &xaodcluster, HgtdAuxDataCache *cache) const
Definition
HgtdTimedClusteringTool.cxx:102
ActsTrk::HgtdTimedClusteringTool::initialize
virtual StatusCode initialize() override
Definition
HgtdTimedClusteringTool.cxx:38
ActsTrk::HgtdTimedClusteringTool::CellCollection
std::vector< Cell > CellCollection
Definition
HgtdTimedClusteringTool.h:40
ActsTrk::HgtdTimedClusteringTool::HgtdTimedClusteringTool
HgtdTimedClusteringTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
HgtdTimedClusteringTool.cxx:32
ActsTrk::HgtdTimedClusteringTool::m_hgtd_tdc_calib_tool
ToolHandle< HGTD_TdcCalibrationTool > m_hgtd_tdc_calib_tool
Definition
HgtdTimedClusteringTool.h:78
ActsTrk::HgtdTimedClusteringTool::Cell
Hgtd::UnpackedHgtdRDO Cell
Definition
HgtdTimedClusteringTool.h:39
ActsTrk::HgtdTimedClusteringTool::m_timeTollerance
Gaudi::Property< double > m_timeTollerance
Definition
HgtdTimedClusteringTool.h:84
ActsTrk::HgtdTimedClusteringTool::ClusterCollection
IHGTDClusteringTool::ClusterCollection ClusterCollection
Definition
HgtdTimedClusteringTool.h:42
ActsTrk::HgtdTimedClusteringTool::m_hgtd_id
const HGTD_ID * m_hgtd_id
Definition
HgtdTimedClusteringTool.h:77
ActsTrk::IHGTDClusteringTool::ClusterCollection
std::vector< Cluster > ClusterCollection
Definition
IHGTDClusteringTool.h:30
HGTD_ALTIROC_RDO_Collection
Definition
HGTD_ALTIROC_RDO_Collection.h:20
HGTD_DetectorManager
The Detector manager has methods to retrieve the Identifier helper and methods to retrieve the detect...
Definition
HGTD_DetectorManager.h:42
HGTD_ID
This is an Identifier helper class for the HGTD subdetector.
Definition
HGTD_ID.h:47
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
Hgtd
Definition
HgtdTimedClusteringTool.cxx:11
Identifier
Definition
IdentifierFieldParser.cxx:14
xAOD::HGTDClusterContainer
HGTDClusterContainer_v1 HGTDClusterContainer
Define the version of the HGTD cluster container.
Definition
HGTDClusterContainer.h:14
xAOD::HGTDCluster
HGTDCluster_v1 HGTDCluster
Define the version of the pixel cluster class.
Definition
HGTDCluster.h:13
ActsTrk::HgtdAuxDataCache
Definition
HgtdAuxDataCache.h:9
ActsTrk::IHGTDClusteringTool::Cluster
Definition
IHGTDClusteringTool.h:25
type
Hgtd::UnpackedHgtdRDO
Definition
HgtdTimedClusteringTool.h:18
Hgtd::UnpackedHgtdRDO::TOT
int TOT
Definition
HgtdTimedClusteringTool.h:27
Hgtd::UnpackedHgtdRDO::ROW
int ROW
Definition
HgtdTimedClusteringTool.h:24
Hgtd::UnpackedHgtdRDO::TOA
float TOA
Definition
HgtdTimedClusteringTool.h:26
Hgtd::UnpackedHgtdRDO::NCL
int NCL
Definition
HgtdTimedClusteringTool.h:23
Hgtd::UnpackedHgtdRDO::ID
Identifier ID
Definition
HgtdTimedClusteringTool.h:28
Hgtd::UnpackedHgtdRDO::UnpackedHgtdRDO
UnpackedHgtdRDO(int ncl, int row, int col, float toa, int tot, Identifier id)
Definition
HgtdTimedClusteringTool.h:19
Hgtd::UnpackedHgtdRDO::COL
int COL
Definition
HgtdTimedClusteringTool.h:25
Generated on
for ATLAS Offline Software by
1.17.0