ATLAS Offline Software
Loading...
Searching...
No Matches
PixelCluster_v1.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 XAODINDETMEASUREMENT_VERSION_PIXELCLUSTER_V1_H
6#define XAODINDETMEASUREMENT_VERSION_PIXELCLUSTER_V1_H
7
9#include "Identifier/Identifier.h"
15
16namespace xAOD {
17
20
22
23 public:
25 PixelCluster_v1() = default;
27 virtual ~PixelCluster_v1() = default;
28
31
36 unsigned int numDimensions() const override final { return 2; }
37
41
44 rdoList() const;
45
48 int channelsInPhi() const;
49 int channelsInEta() const;
50
53 float widthInEta() const;
54
57 totList() const;
58
61 chargeList() const;
62
64 float energyLoss() const;
65
67 int lvl1a() const;
68
70
73
75 void setRDOlist(const std::vector<Identifier>& rdolist);
76
78 void setRDOlist(std::vector<Identifier::value_type>&& rdolist);
79
81 void setRDOlist(std::span<Identifier::value_type> rdolist);
82
86
89
91 void setToTlist(const std::vector<int>& tots);
92 void setToTlist(std::span<int> tots);
93
95 void setChargelist(const std::vector<float>& charges);
96 void setChargelist(std::span<float> charges);
97
99 void setEnergyLoss(float dEdX);
100
102 void setLVL1A(int lvl1a);
103
104 static const SG::AuxElement::Accessor<SG::JaggedVecElt<Identifier::value_type> > rdoListAcc() { return s_rdoListAcc; }
105 static const SG::AuxElement::Accessor<SG::JaggedVecElt<int> > totListAcc() { return s_totListAcc; }
106 static const SG::AuxElement::Accessor<SG::JaggedVecElt<float> > chargeListAcc() { return s_chargeListAcc; }
108protected:
109 static const SG::AuxElement::Accessor<SG::JaggedVecElt<Identifier::value_type> > s_rdoListAcc;
110 static const SG::AuxElement::Accessor<SG::JaggedVecElt<int> > s_totListAcc;
111 static const SG::AuxElement::Accessor<SG::JaggedVecElt<float> > s_chargeListAcc;
112public:
115
139
141};
142
143inline
146 return s_rdoListAcc(*this);
147}
148
149inline
152 return s_totListAcc(*this);
153}
154
155inline
158 return s_chargeListAcc(*this);
159}
160
161} // namespace xAOD
164#endif
An STL vector of pointers that by default owns its pointed-to elements.
#define DATAVECTOR_BASE(T, BASE)
Declare base class info to DataVector.
Definition DataVector.h:649
Helper class to provide type-safe access to aux data, specialized for JaggedVecElt.
Define structures for fast filling of xAOD objects.
Manage lookup of vectors of auxiliary data.
Helper class to provide constant type-safe access to aux data.
Class describing HGTD clusters.
SG::ConstAccessor< SG::JaggedVecElt< Identifier::value_type > >::element_type rdoList() const
Returns the list of identifiers of the channels building the cluster.
xAOD::UncalibMeasType type() const override final
Returns the type of the pixel cluster as a simple enumeration.
virtual ~PixelCluster_v1()=default
Virtual destructor.
void setChannelsInPhiEta(int channelsInPhi, int channelsInEta)
Sets the dimensions of the cluster in numbers of channels in phi (x) and eta (y) directions.
int channelsInPhi() const
Returns the dimensions of the cluster in numbers of channels in phi (x) and eta (y) directions,...
float energyLoss() const
Return the energy loss in the cluster in MeV.
ConstVectorMap< 3 > globalPosition() const
Returns the global position of the pixel cluster.
SG::ConstAccessor< SG::JaggedVecElt< float > >::element_type chargeList() const
Returns the list of charges of the channels building the cluster.
static const SG::AuxElement::Accessor< SG::JaggedVecElt< int > > s_totListAcc
int lvl1a() const
Return the LVL1 accept.
void setChargelist(const std::vector< float > &charges)
Sets the list of charges of the channels building the cluster.
SG::ConstAccessor< SG::JaggedVecElt< int > >::element_type totList() const
Returns the list of ToT of the channels building the cluster.
int channelsInEta() const
static const SG::AuxElement::Accessor< SG::JaggedVecElt< int > > totListAcc()
float widthInEta() const
Returns the width of the cluster in phi (x) and eta (y) directions, respectively.
void setToTlist(const std::vector< int > &tots)
Sets the list of ToT of the channels building the cluster.
PixelCluster_v1()=default
Default constructor.
static const SG::AuxElement::Accessor< SG::JaggedVecElt< float > > s_chargeListAcc
static const SG::AuxElement::Accessor< SG::JaggedVecElt< Identifier::value_type > > rdoListAcc()
void setEnergyLoss(float dEdX)
Sets the energy loss in the cluster in MeV.
void setLVL1A(int lvl1a)
Sets the LVL1 accept.
static const SG::AuxElement::Accessor< SG::JaggedVecElt< float > > chargeListAcc()
static const SG::AuxElement::Accessor< SG::JaggedVecElt< Identifier::value_type > > s_rdoListAcc
void setRDOlist(const std::vector< Identifier > &rdolist)
Sets the list of identifiers of the channels building the cluster.
void setWidthInEta(float widthInEta)
Sets the width of the cluster in eta (y) direction.
unsigned int numDimensions() const override final
Returns the number of dimensions of the measurement.
UncalibratedMeasurement_v1()=default
Default constructor.
DetectorIDHashType identifierHash() const
Returns the IdentifierHash of the measurement (corresponds to the detector element IdentifierHash).
DetectorIdentType identifier() const
Returns the full Identifier of the measurement.
Define structures for fast filling of xAOD objects.
VariableStruct(SG::AuxVectorData &cont)
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
SG::AuxElement::Accessor< std::array< float, N > > PosAccessor
xAOD Accessor to the position
Eigen::Map< MeasVector< N > > VectorMap
long unsigned int DetectorIdentType
UncalibMeasType
Define the type of the uncalibrated measurement.
SG::AuxElement::Accessor< std::array< float, N *N > > CovAccessor
xAOD Accessor to the covariance
unsigned int DetectorIDHashType
@ detector ID element hash
Eigen::Map< const MeasVector< N > > ConstVectorMap
A struct mimicking std::array<float ,3> this structure is a temporary solution for our dynamic variab...
Definition ArrayFloat3.h:17
xAOD::xAODInDetMeasurement::Utilities::JaggedVecEltCache< float > chargeList
xAOD::xAODInDetMeasurement::Utilities::JaggedVecEltCache< int > totList
ClusterVars(SG::AuxVectorData &cont, unsigned int n_cluster_rdos)
AUXSTORE_VARSTRUCT_VAR(xAOD::PosAccessor< 2 >::element_type, localPositionDim2)
AUXSTORE_VARSTRUCT_VAR(xAOD::DetectorIdentType, identifier)
AUXSTORE_VARSTRUCT_VAR(xAOD::DetectorIDHashType, identifierHash)
AUXSTORE_VARSTRUCT_VAR(xAOD::ArrayFloat3, globalPosition)
AUXSTORE_VARSTRUCT_VAR(int, channelsInPhi)
AUXSTORE_VARSTRUCT_VAR(float, widthInEta)
AUXSTORE_VARSTRUCT_VAR(int, channelsInEta)
xAOD::xAODInDetMeasurement::Utilities::JaggedVecEltCache< Identifier::value_type > rdoList
AUXSTORE_VARSTRUCT_VAR(xAOD::CovAccessor< 2 >::element_type, localCovarianceDim2)