ATLAS Offline Software
Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ACTSTOOLINTERFACES_IPIXELPIXELCLUSTERINGTOOL_H
6 #define ACTSTOOLINTERFACES_IPIXELPIXELCLUSTERINGTOOL_H
7 
8 #include <GaudiKernel/IAlgTool.h>
16 #include "Acts/Clusterization/Clusterization.hpp"
17 
18 namespace ActsTrk {
19 
20 class IPixelClusteringTool : virtual public IAlgTool {
21 public:
23 
26  using IDHelper = PixelID;
29 
30  struct Cell {
31  Cell(int row, int col, int tot, int lvl1, Identifier::value_type id):
32  ROW(row), COL(col), TOT(tot), LVL1(lvl1), ID(id) {};
33 
34  int ROW;
35  int COL;
36  int TOT;
37  int LVL1;
39  };
40 
41  using CellCollection = std::vector<Cell>;
42 
43  struct Cluster {
44  std::vector<Identifier::value_type> ids;
45  std::vector<int> tots;
47  };
48  using ClusterCollection = std::vector<Cluster>;
49 
50  virtual StatusCode
51  clusterize(const EventContext& ctx,
52  const RawDataCollection& RDOs,
53  const InDet::SiDetectorElementStatus& pixelDetElStatus,
54  const InDetDD::SiDetectorElement& element,
55  Acts::Ccl::ClusteringData& data,
56  std::vector<ClusterCollection>& collection) const = 0;
57 
58  virtual StatusCode
59  makeClusters(const EventContext& ctx,
60  ClusterCollection& cluster,
61  const InDetDD::SiDetectorElement& element,
62  typename ClusterContainer::iterator itrContainer) const = 0;
63 };
64 
65 }
66 
67 #endif
PixelID.h
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
ActsTrk::IPixelClusteringTool::Cluster
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:43
IdentifiableContainerMT::base_value_type
T base_value_type
Definition: IdentifiableContainerMT.h:75
PixelRDO_Container
InDetRawDataContainer< InDetRawDataCollection< PixelRDORawData > > PixelRDO_Container
Definition: PixelRDO_Container.h:25
ActsTrk::IPixelClusteringTool::Cell
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:30
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
ActsTrk::IPixelClusteringTool::DeclareInterfaceID
DeclareInterfaceID(IPixelClusteringTool, 1, 0)
SiDetectorElementStatus.h
ActsTrk::IPixelClusteringTool::Cell::ROW
int ROW
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:32
ActsTrk::IPixelClusteringTool::RawDataCollection
RDOContainer::base_value_type RawDataCollection
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:25
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
ActsTrk::IPixelClusteringTool::Cell::TOT
int TOT
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:36
ActsTrk::IPixelClusteringTool::Cluster::lvl1min
int lvl1min
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:46
ActsTrk::IPixelClusteringTool::CellCollection
std::vector< Cell > CellCollection
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:41
keylayer_zslicemap.row
row
Definition: keylayer_zslicemap.py:155
ActsTrk::IPixelClusteringTool::makeClusters
virtual StatusCode makeClusters(const EventContext &ctx, ClusterCollection &cluster, const InDetDD::SiDetectorElement &element, typename ClusterContainer::iterator itrContainer) const =0
ActsTrk::IPixelClusteringTool::Cell::LVL1
int LVL1
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:37
InDetRawDataContainer
Definition: InDetRawDataContainer.h:27
ActsTrk::IPixelClusteringTool::Cell::ID
Identifier::value_type ID
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:38
ActsTrk::IPixelClusteringTool::Cluster::tots
std::vector< int > tots
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:45
ActsTrk::IPixelClusteringTool::Cell::Cell
Cell(int row, int col, int tot, int lvl1, Identifier::value_type id)
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:31
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
ActsTrk::IPixelClusteringTool::clusterize
virtual StatusCode clusterize(const EventContext &ctx, const RawDataCollection &RDOs, const InDet::SiDetectorElementStatus &pixelDetElStatus, const InDetDD::SiDetectorElement &element, Acts::Ccl::ClusteringData &data, std::vector< ClusterCollection > &collection) const =0
xAOD::PixelClusterAuxContainer_v1
Auxiliary store for pixel clusters.
Definition: PixelClusterAuxContainer_v1.h:18
PixelClusterAuxContainer.h
PixelRDORawData.h
DataModel_detail::iterator
(Non-const) Iterator class for DataVector/DataList.
Definition: DVLIterator.h:184
InDet::SiDetectorElementStatus
Definition: SiDetectorElementStatus.h:62
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::PixelClusterAuxContainer
PixelClusterAuxContainer_v1 PixelClusterAuxContainer
Definition of the current pixel cluster auxiliary container.
Definition: PixelClusterAuxContainer.h:14
ActsTrk::IPixelClusteringTool::Cluster::ids
std::vector< Identifier::value_type > ids
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:44
PixelClusterContainer.h
ActsTrk::IPixelClusteringTool::Cell::COL
int COL
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:35
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
PixelCalibrationConfig.tot
tot
Definition: PixelCalibrationConfig.py:28
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:239
xAOD::PixelClusterContainer
PixelClusterContainer_v1 PixelClusterContainer
Define the version of the pixel cluster container.
Definition: Event/xAOD/xAODInDetMeasurement/xAODInDetMeasurement/PixelClusterContainer.h:14
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
PixelRDO_Container.h
ActsTrk::IPixelClusteringTool
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:20
InDetRawDataCollection.h
Identifier::value_type
unsigned long long value_type
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:27
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MSTrackingVolumeBuilder.cxx:25
ActsTrk::IPixelClusteringTool::ClusterCollection
std::vector< Cluster > ClusterCollection
Definition: Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.h:48
PixelID
Definition: PixelID.h:67