ATLAS Offline Software
Loading...
Searching...
No Matches
IStripClusteringTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 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#include <any>
19
20namespace ActsTrk {
21
22class IStripClusteringTool : virtual public IAlgTool {
23public:
25
31
32 struct Cell {
33 size_t index;
35 std::bitset<3> timeBits;
36
37 Cell(size_t i, Identifier id, const std::bitset<3>& timeBits)
38 : index(i), id(id), timeBits(timeBits) {}
39 };
40 using CellCollection = std::vector<Cell>;
41
42 struct Cluster {
43 std::vector<Identifier::value_type> ids;
44 uint16_t hitsInThirdTimeBin{0};
45 };
46 using ClusterCollection = std::vector<Cluster>;
47
48 virtual StatusCode
49 clusterize(const EventContext& ctx,
50 const RawDataCollection& RDOs,
51 const InDet::SiDetectorElementStatus& stripDetElStatus,
52 const InDetDD::SiDetectorElement& element,
53 Acts::Ccl::ClusteringData& data,
54 std::vector<ClusterCollection>& collection) const = 0;
55
56 virtual std::any makeVars (SG::AuxVectorData& cont) const = 0;
57
58 virtual StatusCode
59 makeClusters(const EventContext& ctx,
60 ClusterCollection& cluster,
61 const InDetDD::SiDetectorElement& element,
62 size_t icluster,
63 std::any& vars,
64 typename ClusterContainer::iterator itrContainer) const = 0;
65};
66
67} // namespace
68
69#endif
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
This is an Identifier helper class for the SCT subdetector.
InDetRawDataContainer< InDetRawDataCollection< SCT_RDORawData > > SCT_RDO_Container
xAOD::StripClusterContainer ClusterContainer
virtual StatusCode clusterize(const EventContext &ctx, const RawDataCollection &RDOs, const InDet::SiDetectorElementStatus &stripDetElStatus, const InDetDD::SiDetectorElement &element, Acts::Ccl::ClusteringData &data, std::vector< ClusterCollection > &collection) const =0
xAOD::StripClusterAuxContainer ClusterAuxContainer
std::vector< Cluster > ClusterCollection
RDOContainer::base_value_type RawDataCollection
virtual StatusCode makeClusters(const EventContext &ctx, ClusterCollection &cluster, const InDetDD::SiDetectorElement &element, size_t icluster, std::any &vars, typename ClusterContainer::iterator itrContainer) const =0
virtual std::any makeVars(SG::AuxVectorData &cont) const =0
DeclareInterfaceID(IStripClusteringTool, 1, 0)
DataModel_detail::iterator< DataVector > iterator
Definition DataVector.h:842
Class to hold geometrical description of a silicon detector element.
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
Manage lookup of vectors of auxiliary data.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition index.py:1
StripClusterContainer_v1 StripClusterContainer
Define the version of the strip cluster container.
StripClusterAuxContainer_v1 StripClusterAuxContainer
Definition of the current strip cluster auxiliary container.
Cell(size_t i, Identifier id, const std::bitset< 3 > &timeBits)
std::vector< Identifier::value_type > ids