ATLAS Offline Software
Loading...
Searching...
No Matches
HGTD_ClusterMakerTool.cxx
Go to the documentation of this file.
1
10
12
14
15// usable in the current file only
16namespace {
17inline double square(const double x) { return x * x; }
18
19constexpr double g_one_over_twelve = 1. / 12.;
20} // namespace
21
23 const std::string& n,
24 const IInterface* p)
25 : AthAlgTool(t, n, p) {}
26
28 const Identifier& rdo_id,
29 const Amg::Vector2D& loc_pos,
30 std::vector<Identifier>&& rdo_list,
31 const InDet::SiWidth& width,
33 const float time_of_arrival,
34 std::vector<int>&& time_over_threshold) const {
35
36 Amg::MatrixX loc_err_matx = Amg::MatrixX(2, 2);
37 loc_err_matx.setIdentity();
38 // HGTD pixels are 1.3x1.3 mm2, using phiR and z methods for
39 // consistency with other code
40 loc_err_matx.fillSymmetric(0, 0, square(width.phiR()) * g_one_over_twelve);
41 loc_err_matx.fillSymmetric(1, 1, square(width.z()) * g_one_over_twelve);
42
43 // time_of_arrival_err
44 // FIXME: to define the expected time resolution, I should have a service that
45 // tells me which resolution I expect, depending on the radius and after
46 // the current integrated luminosity
47 float time_of_arrival_err =
48 0.035; // 35 pico second resolution at start of operation, given in nano
49 // seconds in ATHENA
50
51 return {rdo_id,
52 loc_pos,
53 std::move(rdo_list),
54 width,
55 det_el,
56 std::move(loc_err_matx),
57 time_of_arrival,
58 time_of_arrival_err,
59 std::move(time_over_threshold)};
60}
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration.
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration.
const double width
#define x
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
HGTD_Cluster createCluster(const Identifier &rdo_id, const Amg::Vector2D &loc_pos, std::vector< Identifier > &&rdo_list, const InDet::SiWidth &width, const InDetDD::SolidStateDetectorElementBase *det_el, const float time_of_arrival, std::vector< int > &&time_over_threshold) const
Builds a HGTD_Cluster.
HGTD_ClusterMakerTool(const std::string &, const std::string &, const IInterface *)
Class to hold geometrical description of a solid state detector element.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 2, 1 > Vector2D