ATLAS Offline Software
Loading...
Searching...
No Matches
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
10
14
15#include "Acts/Definitions/Units.hpp"
16
17namespace Hgtd {
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};
29 };
30}
31
32namespace ActsTrk {
33struct HgtdAuxDataCache;
34
36 public extends<AthAlgTool, IHGTDClusteringTool> {
37public:
38
40 using CellCollection = std::vector<Cell>;
43
44public:
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,
57 std::vector<ClusterCollection>& collection) const override;
58
60 std::size_t nClusterRDOs) const override;
61
62 virtual StatusCode makeClusters(const EventContext& ctx,
63 const ClusterCollection& clusters,
65 size_t& icluster,
66 std::any& cache) const override;
67
68private:
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
75private:
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 * Acts::UnitConstants::ns};
85 Gaudi::Property<bool> m_addCorners {this, "AddCorners", true};
86};
87
88}
89
90#endif
91
IHGTDClusteringTool::Cluster Cluster
virtual std::any createEventDataCache(xAOD::HGTDClusterContainer &cont, std::size_t nClusterRDOs) const override
virtual StatusCode clusterize(const EventContext &ctx, const RawDataCollection &RDOs, std::vector< ClusterCollection > &collection) const override
const HGTD_DetectorManager * m_hgtd_det_mgr
virtual StatusCode makeClusters(const EventContext &ctx, const ClusterCollection &clusters, xAOD::HGTDClusterContainer &container, size_t &icluster, std::any &cache) const override
StatusCode makeCluster(const EventContext &ctx, const typename HgtdTimedClusteringTool::Cluster &cluster, xAOD::HGTDCluster &xaodcluster, HgtdAuxDataCache *cache) const
virtual StatusCode initialize() override
HgtdTimedClusteringTool(const std::string &type, const std::string &name, const IInterface *parent)
ToolHandle< HGTD_TdcCalibrationTool > m_hgtd_tdc_calib_tool
Gaudi::Property< double > m_timeTollerance
IHGTDClusteringTool::ClusterCollection ClusterCollection
std::vector< Cluster > ClusterCollection
The Detector manager has methods to retrieve the Identifier helper and methods to retrieve the detect...
This is an Identifier helper class for the HGTD subdetector.
Definition HGTD_ID.h:47
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
HGTDClusterContainer_v1 HGTDClusterContainer
Define the version of the HGTD cluster container.
HGTDCluster_v1 HGTDCluster
Define the version of the pixel cluster class.
Definition HGTDCluster.h:13
UnpackedHgtdRDO(int ncl, int row, int col, float toa, int tot, Identifier id)