ATLAS Offline Software
IStripClusteringTool.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_ISTRIPSTRIPCLUSTERINGTOOL_H
6 #define ACTSTOOLINTERFACES_ISTRIPSTRIPCLUSTERINGTOOL_H
7 
8 #include <GaudiKernel/IAlgTool.h>
17 #include <Acts/Clusterization/Clusterization.hpp>
18 
19 namespace ActsTrk {
20 
21 class IStripClusteringTool : virtual public IAlgTool {
22 public:
24 
27  using IDHelper = SCT_ID;
30 
31  struct Cell {
32  size_t index;
34  std::bitset<3> timeBits;
35 
36  Cell(size_t i, Identifier id, const std::bitset<3>& timeBits)
37  : index(i), id(id), timeBits(timeBits) {}
38  };
39  using CellCollection = std::vector<Cell>;
40 
41  struct Cluster {
42  std::vector<Identifier::value_type> ids;
44  };
45  using ClusterCollection = std::vector<Cluster>;
46 
47  virtual StatusCode
48  clusterize(const EventContext& ctx,
49  const RawDataCollection& RDOs,
50  const InDet::SiDetectorElementStatus& stripDetElStatus,
51  const InDetDD::SiDetectorElement& element,
52  std::vector<ClusterCollection>& collection) const = 0;
53 
54  virtual StatusCode
55  makeClusters(const EventContext& ctx,
56  ClusterCollection& cluster,
57  const InDetDD::SiDetectorElement& element,
58  typename ClusterContainer::iterator itrContainer) const = 0;
59 };
60 
61 } // namespace
62 
63 #endif
ActsTrk::IStripClusteringTool
Definition: IStripClusteringTool.h:21
SCT_ID.h
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
IdentifiableContainerMT::base_value_type
T base_value_type
Definition: IdentifiableContainerMT.h:75
SiDetectorElementStatus.h
index
Definition: index.py:1
xAOD::StripClusterAuxContainer_v1
Auxiliary store for strip clusters.
Definition: StripClusterAuxContainer_v1.h:18
ActsTrk::IStripClusteringTool::Cluster
Definition: IStripClusteringTool.h:41
ActsTrk::IStripClusteringTool::clusterize
virtual StatusCode clusterize(const EventContext &ctx, const RawDataCollection &RDOs, const InDet::SiDetectorElementStatus &stripDetElStatus, const InDetDD::SiDetectorElement &element, std::vector< ClusterCollection > &collection) const =0
InDetRawDataContainer
Definition: InDetRawDataContainer.h:27
ActsTrk::IStripClusteringTool::Cell::Cell
Cell(size_t i, Identifier id, const std::bitset< 3 > &timeBits)
Definition: IStripClusteringTool.h:36
ActsTrk::IStripClusteringTool::Cell::id
Identifier id
Definition: IStripClusteringTool.h:33
SCT_RDO_Container.h
ActsTrk::IStripClusteringTool::Cluster::hitsInThirdTimeBin
uint16_t hitsInThirdTimeBin
Definition: IStripClusteringTool.h:43
ActsTrk::IStripClusteringTool::makeClusters
virtual StatusCode makeClusters(const EventContext &ctx, ClusterCollection &cluster, const InDetDD::SiDetectorElement &element, typename ClusterContainer::iterator itrContainer) const =0
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
DataModel_detail::iterator
(Non-const) Iterator class for DataVector/DataList.
Definition: DVLIterator.h:184
lumiFormat.i
int i
Definition: lumiFormat.py:85
InDet::SiDetectorElementStatus
Definition: SiDetectorElementStatus.h:62
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ActsTrk::IStripClusteringTool::Cell::timeBits
std::bitset< 3 > timeBits
Definition: IStripClusteringTool.h:34
ActsTrk::IStripClusteringTool::CellCollection
std::vector< Cell > CellCollection
Definition: IStripClusteringTool.h:39
SCT_RDORawData.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
ActsTrk::IStripClusteringTool::RawDataCollection
RDOContainer::base_value_type RawDataCollection
Definition: IStripClusteringTool.h:26
ActsTrk::IStripClusteringTool::Cell
Definition: IStripClusteringTool.h:31
ActsTrk::IStripClusteringTool::Cluster::ids
std::vector< Identifier::value_type > ids
Definition: IStripClusteringTool.h:42
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
SCT_RDO_Container
InDetRawDataContainer< InDetRawDataCollection< SCT_RDORawData > > SCT_RDO_Container
Definition: SCT_RDO_Container.h:23
SiDetectorElement.h
xAOD::StripClusterContainer
StripClusterContainer_v1 StripClusterContainer
Define the version of the strip cluster container.
Definition: StripClusterContainer.h:14
StripClusterAuxContainer.h
SCT_ID
Definition: SCT_ID.h:68
xAOD::StripClusterAuxContainer
StripClusterAuxContainer_v1 StripClusterAuxContainer
Definition of the current strip cluster auxiliary container.
Definition: StripClusterAuxContainer.h:14
StripClusterContainer.h
InDetRawDataCollection.h
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MSTrackingVolumeBuilder.cxx:24
ActsTrk::IStripClusteringTool::Cell::index
size_t index
Definition: IStripClusteringTool.h:32
ActsTrk::IStripClusteringTool::ClusterCollection
std::vector< Cluster > ClusterCollection
Definition: IStripClusteringTool.h:45
Identifier
Definition: IdentifierFieldParser.cxx:14
ActsTrk::IStripClusteringTool::DeclareInterfaceID
DeclareInterfaceID(IStripClusteringTool, 1, 0)