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;
63 float totalCharge() const;
64
66 float energyLoss() const;
67
69 int lvl1a() const;
70
72
75
77 void setRDOlist(const std::vector<Identifier>& rdolist);
78
80 void setRDOlist(std::vector<Identifier::value_type>&& rdolist);
81
83 void setRDOlist(std::span<Identifier::value_type> rdolist);
84
88
91
93 void setToTlist(const std::vector<int>& tots);
94 void setToTlist(std::span<int> tots);
95
97 void setChargelist(const std::vector<float>& charges);
98 void setChargelist(std::span<float> charges);
101
103 void setEnergyLoss(float dEdX);
104
106 void setLVL1A(int lvl1a);
107
108 static const SG::AuxElement::Accessor<SG::JaggedVecElt<Identifier::value_type> > rdoListAcc() { return s_rdoListAcc; }
109 static const SG::AuxElement::Accessor<SG::JaggedVecElt<int> > totListAcc() { return s_totListAcc; }
110 static const SG::AuxElement::Accessor<SG::JaggedVecElt<float> > chargeListAcc() { return s_chargeListAcc; }
112protected:
113 static const SG::AuxElement::Accessor<SG::JaggedVecElt<Identifier::value_type> > s_rdoListAcc;
114 static const SG::AuxElement::Accessor<SG::JaggedVecElt<int> > s_totListAcc;
115 static const SG::AuxElement::Accessor<SG::JaggedVecElt<float> > s_chargeListAcc;
116public:
119
144
146};
147
148inline
151 return s_rdoListAcc(*this);
152}
153
154inline
157 return s_totListAcc(*this);
158}
159
160inline
163 return s_chargeListAcc(*this);
164}
165
166} // namespace xAOD
169#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 setTotalCharge(float totalCharge)
Sets the total charge.
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()
float totalCharge() const
Returns the sum of the charges of the channels building the cluster.
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(float, totalCharge)
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)