ATLAS Offline Software
ISCT_ClusteringTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
11 #ifndef SICLUSTERIZATIONTOOL_ISCT_CLUSTERINGTOOL_H
12 #define SICLUSTERIZATIONTOOL_ISCT_CLUSTERINGTOOL_H
13 
15 #include "GaudiKernel/IAlgTool.h"
18 
20 #include "AthAllocators/DataPool.h"
22 class SCT_ID;
23 
24 class SCT_ChannelStatusAlg;
25 
26 namespace InDet {
27 class SiDetectorElementStatus;
28 
30  using IdVec_t = std::vector<Identifier>;
31  // Vector of identifiers in a cluster (most likely is that there is one strip
32  // in the cluster)
34  // Vector of clusters to make the cluster collection (most likely equal to
35  // collection size)
36  std::vector<IdVec_t> idGroups;
37  std::vector<uint16_t> tbinGroups;
38 };
39 
41 class ISCT_ClusteringTool : virtual public IAlgTool {
42  public:
45 
47  virtual ~ISCT_ClusteringTool() = default;
48 
59  const InDetRawDataCollection<SCT_RDORawData>& rdoCollection,
60  const SCT_ID& idHelper,
61  const InDet::SiDetectorElementStatus* sctDetElementStatus,
62  SCTClusteringCache& cache, DataPool<SCT_Cluster>* dataItemsPool,
63  const EventContext& ctx) const = 0;
64 };
65 } // namespace InDet
66 
67 #endif // SICLUSTERIZATIONTOOL_I_SCT_CLUSTERINGALG_H
InDet::ISCT_ClusteringTool::DeclareInterfaceID
DeclareInterfaceID(ISCT_ClusteringTool, 1, 0)
InterfaceID.
InDet::SCTClusteringCache::IdVec_t
std::vector< Identifier > IdVec_t
Definition: ISCT_ClusteringTool.h:30
InDet::SCTClusteringCache::idGroups
std::vector< IdVec_t > idGroups
Definition: ISCT_ClusteringTool.h:36
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::ISCT_ClusteringTool
Interface for SCT clustering algorithms, taking input from RDOs.
Definition: ISCT_ClusteringTool.h:41
InDet::SCTClusteringCache::tbinGroups
std::vector< uint16_t > tbinGroups
Definition: ISCT_ClusteringTool.h:37
SCT_ClusterCollection.h
InDet::SiDetectorElementStatus
Definition: SiDetectorElementStatus.h:62
InDet::SCTClusteringCache::currentVector
IdVec_t currentVector
Definition: ISCT_ClusteringTool.h:33
InDetRawDataCollection
Definition: InDetRawDataCollection.h:31
SCT_RDORawData.h
DataPool.h
SCT_ID
Definition: SCT_ID.h:68
InDet::ISCT_ClusteringTool::clusterize
virtual SCT_ClusterCollection * clusterize(const InDetRawDataCollection< SCT_RDORawData > &rdoCollection, const SCT_ID &idHelper, const InDet::SiDetectorElementStatus *sctDetElementStatus, SCTClusteringCache &cache, DataPool< SCT_Cluster > *dataItemsPool, const EventContext &ctx) const =0
Clusterize a collection of SCT raw data objects Called from SCT_clusterization algorithm in InDetPrep...
DataPool
a typed memory pool that saves time spent allocation small object. This is typically used by containe...
Definition: DataPool.h:63
InDet::ISCT_ClusteringTool::~ISCT_ClusteringTool
virtual ~ISCT_ClusteringTool()=default
Default destructor.
InDetRawDataCollection.h
InDet::SCTClusteringCache
Definition: ISCT_ClusteringTool.h:29
InDet::SCT_ClusterCollection
Trk::PrepRawDataCollection< SCT_Cluster > SCT_ClusterCollection
Definition: SCT_ClusterCollection.h:26