ATLAS Offline Software
Loading...
Searching...
No Matches
SpacePoint_v1.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 XAODINDETMEASUREMENT_VERSION_SPACEPOINT_V1_H
6#define XAODINDETMEASUREMENT_VERSION_SPACEPOINT_V1_H
7
9#include "Identifier/Identifier.h"
14
15#include <array>
16
17namespace xAOD {
18
20 public:
21 using ConstVectorMap = Eigen::Map<const Eigen::Matrix<float, 3, 1>>;
22 using VectorMap = Eigen::Map<Eigen::Matrix<float, 3, 1>>;
23
26
28 const std::vector<DetectorIDHashType>& elementIdList() const;
29
33
34 // radius
35 float radius() const;
36
38 float varianceR() const;
39 float varianceZ() const;
40
42 const std::vector< const xAOD::UncalibratedMeasurement* >& measurements() const;
43
45 float topHalfStripLength() const;
46 float bottomHalfStripLength() const;
47
52
57
58 float x() const;
59 float y() const;
60 float z() const;
61
62 // Needed for compliance with the external spacepoint contract
63 // See https://github.com/acts-project/acts/pull/2829
64 std::optional<float> t() const { return std::nullopt; }
65
67
70
72 void setElementIdList(std::vector<DetectorIDHashType>&& idHash);
73
75 void setRadius(float);
76
78 void setVarianceR(float);
79 void setVarianceZ(float);
80
82 void setMeasurements(std::vector< const xAOD::UncalibratedMeasurement* > && value );
83
86
88
90 const Eigen::Matrix<float,3,1>& globPos,
91 float cov_r, float cov_z,
92 std::vector< const xAOD::UncalibratedMeasurement* >&& measurementIndexes);
93
94 void setSpacePoint(std::vector<DetectorIDHashType>&& idHashes,
95 const Eigen::Matrix<float,3,1>& globPos,
96 float cov_r, float cov_z,
97 std::vector< const xAOD::UncalibratedMeasurement* >&& measurementIndexes,
100 const Eigen::Matrix<float,3,1>& topStripDirection,
101 const Eigen::Matrix<float,3,1>& bottomStripDirection,
102 const Eigen::Matrix<float,3,1>& stripCenterDistance,
103 const Eigen::Matrix<float,3,1>& topStripCenter);
104 };
105
106}
107
108#endif
Base class for elements of a container that can have aux data.
void setTopHalfStripLength(float)
ConstVectorMap stripCenterDistance() const
void setMeasurements(std::vector< const xAOD::UncalibratedMeasurement * > &&value)
Sets the index of the measurements.
float varianceZ() const
float bottomHalfStripLength() const
const std::vector< DetectorIDHashType > & elementIdList() const
Returns the IdentifierHash of the spacepoint (corresponds to the detector element IdentifierHash).
float varianceR() const
Returns the variances.
float z() const
void setVarianceZ(float)
void setSpacePoint(DetectorIDHashType idHash, const Eigen::Matrix< float, 3, 1 > &globPos, float cov_r, float cov_z, std::vector< const xAOD::UncalibratedMeasurement * > &&measurementIndexes)
ConstVectorMap bottomStripDirection() const
std::optional< float > t() const
ConstVectorMap topStripCenter() const
const std::vector< const xAOD::UncalibratedMeasurement * > & measurements() const
Returns the index of the measurements.
void setBottomHalfStripLength(float)
Eigen::Map< Eigen::Matrix< float, 3, 1 > > VectorMap
Eigen::Map< const Eigen::Matrix< float, 3, 1 > > ConstVectorMap
void setRadius(float)
Set the radius.
float y() const
void setElementIdList(std::vector< DetectorIDHashType > &&idHash)
Sets the IdentifierHash of the measurement (corresponds to the detector element IdentifierHash).
void setVarianceR(float)
Sets the variances.
ConstVectorMap globalPosition() const
Returns the global position of the pixel cluster.
float topHalfStripLength() const
Return details.
float x() const
ConstVectorMap topStripDirection() const
float radius() const
AuxElement(SG::AuxVectorData *container, size_t index)
Base class for elements of a container that can have aux data.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
unsigned int DetectorIDHashType
@ detector ID element hash