ATLAS Offline Software
Loading...
Searching...
No Matches
IStripSpacePointFormationTool.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_ISTRIPSPACEPOINTFORMATIONTOOL_H
6#define ACTSTOOLINTERFACES_ISTRIPSPACEPOINTFORMATIONTOOL_H
7
8// Athena
9#include "GaudiKernel/IAlgTool.h"
10
16
17namespace ActsTrk {
18 struct StripSP {
19 StripSP() = default;
20
21 std::vector<unsigned int> idHashes {};
22 Eigen::Matrix<float,3,1> globPos {0, 0, 0};
23 float cov_r {0};
24 float cov_z {0};
25 std::array<std::size_t,2> measurementIndexes {};
28 Eigen::Matrix<float,3,1> topStripDirection {0, 0, 0};
29 Eigen::Matrix<float,3,1> bottomStripDirection {0, 0, 0};
30 Eigen::Matrix<float,3,1> stripCenterDistance {0, 0, 0};
31 Eigen::Matrix<float,3,1> topStripCenter {0, 0, 0};
32 };
33
36
37 class IStripSpacePointFormationTool : virtual public IAlgTool {
38 public:
40
41
42 virtual StatusCode produceSpacePoints(const EventContext& ctx,
43 const xAOD::StripClusterContainer& clusterContainer,
44 const InDet::SiElementPropertiesTable& properties,
46 const Amg::Vector3D& beamSpotVertex,
47 std::vector<StripSP>& spacePoints,
48 std::vector<StripSP>& overlapSpacePoints,
49 bool processOverlaps,
50 const std::vector<IdentifierHash>& hashesToProcess,
52
53 };
54
55} // ACTSTOOLINTERFACES_ISTRIPSPACEPOINTFORMATIONTOOL_H
56
57#endif
DeclareInterfaceID(IStripSpacePointFormationTool, 1, 0)
virtual StatusCode produceSpacePoints(const EventContext &ctx, const xAOD::StripClusterContainer &clusterContainer, const InDet::SiElementPropertiesTable &properties, const InDetDD::SiDetectorElementCollection &elements, const Amg::Vector3D &beamSpotVertex, std::vector< StripSP > &spacePoints, std::vector< StripSP > &overlapSpacePoints, bool processOverlaps, const std::vector< IdentifierHash > &hashesToProcess, const ContainerAccessor< xAOD::StripCluster, IdentifierHash, 1 > &stripAccessor) const =0
Class implementing how to access a container.
Class to hold the SiDetectorElement objects to be put in the detector store.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Eigen::Matrix< double, 3, 1 > Vector3D
StripClusterContainer_v1 StripClusterContainer
Define the version of the strip cluster container.
Eigen::Matrix< float, 3, 1 > stripCenterDistance
Eigen::Matrix< float, 3, 1 > bottomStripDirection
std::vector< unsigned int > idHashes
Eigen::Matrix< float, 3, 1 > globPos
Eigen::Matrix< float, 3, 1 > topStripDirection
StripSP()=default
Eigen::Matrix< float, 3, 1 > topStripCenter
std::array< std::size_t, 2 > measurementIndexes