ATLAS Offline Software
Loading...
Searching...
No Matches
HgtdTimedClusteringTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 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
13
14#include "Acts/Definitions/Units.hpp"
15
16namespace Hgtd {
18 UnpackedHgtdRDO(int ncl, int row, int col, float toa, int tot, Identifier id)
19 : NCL(ncl), ROW(row), COL(col), TOA(toa), TOT(tot), ID(id)
20 {};
21
22 int NCL{0};
23 int ROW{0};
24 int COL{0};
25 float TOA{0.f};
26 int TOT{0};
28 };
29}
30
31namespace ActsTrk {
32
34 public extends<AthAlgTool, IHGTDClusteringTool> {
35public:
36 struct Cluster {
37 std::vector<Identifier> ids;
38 std::vector<int> tots;
39 std::vector<double> times;
40 };
41
43 using CellCollection = std::vector<Cell>;
44 using ClusterCollection = std::vector<Cluster>;
45
46public:
47 HgtdTimedClusteringTool(const std::string& type,
48 const std::string& name,
49 const IInterface* parent);
50
51 virtual StatusCode initialize() override;
52 virtual StatusCode clusterize(const EventContext& ctx,
53 const RawDataCollection& RDOs,
54 ClusterContainer& container) const override;
55
56private:
57 // N.B. the cluster is added to the container
58 StatusCode makeCluster(const EventContext& ctx,
59 const typename HgtdTimedClusteringTool::Cluster &cluster,
60 xAOD::HGTDCluster& xaodcluster) const;
61
62
63private:
65 const HGTD_ID* m_hgtd_id{nullptr};
66
67 Gaudi::Property<double> m_timeTollerance {this, "TimeTollerance", 0.035 * Acts::UnitConstants::ns};
68 Gaudi::Property<bool> m_addCorners {this, "AddCorners", true};
69};
70
71}
72
73#endif
74
const HGTD_DetectorManager * m_hgtd_det_mgr
virtual StatusCode clusterize(const EventContext &ctx, const RawDataCollection &RDOs, ClusterContainer &container) const override
virtual StatusCode initialize() override
HgtdTimedClusteringTool(const std::string &type, const std::string &name, const IInterface *parent)
Gaudi::Property< double > m_timeTollerance
StatusCode makeCluster(const EventContext &ctx, const typename HgtdTimedClusteringTool::Cluster &cluster, xAOD::HGTDCluster &xaodcluster) const
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...
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)