ATLAS Offline Software
Loading...
Searching...
No Matches
Tracking/Acts/ActsToolInterfaces/ActsToolInterfaces/IPixelClusteringTool.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_IPIXELPIXELCLUSTERINGTOOL_H
6#define ACTSTOOLINTERFACES_IPIXELPIXELCLUSTERINGTOOL_H
7
8#include <GaudiKernel/IAlgTool.h>
16#include "Acts/Clusterization/Clusterization.hpp"
17#include <any>
18
19namespace ActsTrk {
20
21class IPixelClusteringTool : virtual public IAlgTool {
22public:
24
30
31 struct Cell {
32 Cell(int row, int col, int tot, int lvl1, Identifier::value_type id):
33 ROW(row), COL(col), TOT(tot), LVL1(lvl1), ID(id) {};
34
35 int ROW;
36 int COL;
37 int TOT;
38 int LVL1;
39 Identifier::value_type ID ;
40 };
41
42 using CellCollection = std::vector<Cell>;
43
44 struct Cluster {
45 std::vector<Identifier::value_type> ids;
46 std::vector<int> tots;
47 int lvl1min = std::numeric_limits<int>::max();
48 };
49 using ClusterCollection = std::vector<Cluster>;
50
51 virtual StatusCode
52 clusterize(const EventContext& ctx,
53 const RawDataCollection& RDOs,
54 const InDet::SiDetectorElementStatus& pixelDetElStatus,
55 const InDetDD::SiDetectorElement& element,
56 Acts::Ccl::ClusteringData& data,
57 std::vector<ClusterCollection>& collection) const = 0;
58
59 virtual std::any makeVars (SG::AuxVectorData& cont) const = 0;
60
61 virtual StatusCode
62 makeClusters(const EventContext& ctx,
63 ClusterCollection& cluster,
64 const InDetDD::SiDetectorElement& element,
65 size_t icluster,
66 std::any& vars,
67 typename ClusterContainer::iterator itrContainer) const = 0;
68};
69
70}
71
72#endif
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
This is an Identifier helper class for the Pixel subdetector.
InDetRawDataContainer< InDetRawDataCollection< PixelRDORawData > > PixelRDO_Container
virtual std::any makeVars(SG::AuxVectorData &cont) const =0
virtual StatusCode makeClusters(const EventContext &ctx, ClusterCollection &cluster, const InDetDD::SiDetectorElement &element, size_t icluster, std::any &vars, typename ClusterContainer::iterator itrContainer) const =0
DeclareInterfaceID(IPixelClusteringTool, 1, 0)
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
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 Pixel subdetector.
Definition PixelID.h:69
Manage lookup of vectors of auxiliary data.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
PixelClusterContainer_v1 PixelClusterContainer
Define the version of the pixel cluster container.
PixelClusterAuxContainer_v1 PixelClusterAuxContainer
Definition of the current pixel cluster auxiliary container.
Cell(int row, int col, int tot, int lvl1, Identifier::value_type id)