18 const std::string& name,
19 const IInterface* parent)
20 : base_class(
type, name, parent) {}
32 return StatusCode::SUCCESS;
35std::unique_ptr<HGTD_ClusterCollection>
42 std::unique_ptr<HGTD_ClusterCollection> cluster_collection =
43 std::make_unique<HGTD_ClusterCollection>(id_hash);
49 cluster_collection->setIdentifier(identifier);
50 cluster_collection->reserve(rdo_coll.
size());
55 for (
const auto *
const rdo : rdo_coll) {
66 ATH_MSG_DEBUG(
"Local position: x=" << loc_pos.x() <<
" y=" << loc_pos.y());
69 std::vector<Identifier> rdo_list = {rdo_id};
82 double eta_width = 1.3;
83 double phi_width = 1.3;
84 ATH_MSG_DEBUG(
"eta_width=" << eta_width <<
" phi_width=" << phi_width);
90 float time_of_arrival = rdo->getTOA();
94 std::vector<int> time_over_threshold = {
static_cast<int>(rdo->getTOT())};
112 std::move(time_over_threshold));
115 cluster_collection->size());
117 cluster_collection->push_back(cluster);
119 return cluster_collection;
122std::unique_ptr<HGTD_ClusterCollection>
129 std::unique_ptr<HGTD_ClusterCollection> cluster_collection =
130 std::make_unique<HGTD_ClusterCollection>(id_hash);
136 cluster_collection->setIdentifier(identifier);
137 cluster_collection->reserve(rdo_coll.
size());
142 for (
const auto *
const rdo : rdo_coll) {
153 ATH_MSG_DEBUG(
"Local position: x=" << loc_pos.x() <<
" y=" << loc_pos.y());
156 std::vector<Identifier> rdo_list = {rdo_id};
169 double eta_width = 1.3;
170 double phi_width = 1.3;
171 ATH_MSG_DEBUG(
"eta_width=" << eta_width <<
" phi_width=" << phi_width);
179 ATH_MSG_DEBUG(
"Recovered Time of Arrival: " << time_of_arrival);
183 std::vector<int> time_over_threshold = {
static_cast<int>(rdo->getToT())};
201 std::move(time_over_threshold));
204 cluster_collection->size());
206 cluster_collection->push_back(cluster);
208 return cluster_collection;
#define ATH_CHECK
Evaluate an expression and check for errors.
a typed memory pool that saves time spent allocation small object.
pointer nextElementPtr()
obtain the next available element in pool by pointer pool is resized if its limit has been reached On...
size_type size() const noexcept
Returns the number of elements in the collection.
const Identifier & identify() const
const IdentifierHash & identifierHash() const
const Identifier & identify() const
const IdentifierHash & identifierHash() const
This is a "hash" representation of an Identifier.
Class to hold geometrical description of an HGTD detector element.
SiCellId cellIdFromIdentifier(const Identifier &identifier) const override final
SiCellId from Identifier.
const HGTD_ModuleDesign & design() const override final
access to the local description:
Class used to describe the design of a module (diode segmentation and readout scheme)
virtual SiLocalPosition localPositionOfCell(const SiCellId &cellId) const
readout or diode id -> position.
Identifier for the strip or pixel cell.
Class to represent a position in the natural frame of a silicon sensor, for Pixel and SCT For Pixel: ...
double xPhi() const
position along phi direction:
double xEta() const
position along eta direction:
void setHashAndIndex(unsigned short collHash, unsigned short objIndex)
TEMP for testing: might make some classes friends later ...
Eigen::Matrix< double, 2, 1 > Vector2D
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts