Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | Private Attributes | Friends | List of all members
Muon::RpcPrepData Class Reference

Class to represent RPC measurements. More...

#include <RpcPrepData.h>

Inheritance diagram for Muon::RpcPrepData:
Collaboration diagram for Muon::RpcPrepData:

Public Member Functions

 RpcPrepData ()=default
 
 RpcPrepData (const RpcPrepData &)=default
 
 RpcPrepData (RpcPrepData &&) noexcept=default
 
RpcPrepDataoperator= (const RpcPrepData &)=default
 
RpcPrepDataoperator= (RpcPrepData &&) noexcept=default
 
 RpcPrepData (const Identifier &RDOId, const IdentifierHash &idDE, const Amg::Vector2D &locpos, const std::vector< Identifier > &rdoList, const Amg::MatrixX &locErrMat, const MuonGM::RpcReadoutElement *detEl, const float time, const int triggerInfo, const int ambiguityFlag)
 Constructor. More...
 
 RpcPrepData (const Identifier &RDOId, const IdentifierHash &idDE, const Amg::Vector2D &locpos, std::vector< Identifier > &&rdoList, Amg::MatrixX &&locErrMat, const MuonGM::RpcReadoutElement *detEl, const float time, const int triggerInfo, const int ambiguityFlag)
 
 RpcPrepData (const Identifier &RDOId, const IdentifierHash &idDE, const Amg::Vector2D &locpos, const std::vector< Identifier > &rdoList, const Amg::MatrixX &locErrMat, const MuonGM::RpcReadoutElement *detEl, const float time, const float timeOverThresh, const int triggerInfo, const int ambiguityFlag)
 Extra constructor containing the time over threshold variable. More...
 
 RpcPrepData (const Identifier &RDOId, const IdentifierHash &idDE, const Amg::Vector2D &locpos, std::vector< Identifier > &&rdoList, Amg::MatrixX &&locErrMat, const MuonGM::RpcReadoutElement *detEl, const float time, const float timeOverThresh, const int triggerInfo, const int ambiguityFlag)
 
 RpcPrepData (const Identifier &RDOId, const IdentifierHash &idDE, const Amg::Vector2D &locpos, const std::vector< Identifier > &rdoList, const Amg::MatrixX &locErrMat, const MuonGM::RpcReadoutElement *detEl, const float time, const int ambiguityFlag)
 Extra Constructor without TriggerInfo for a slimmed version of RpcPrepData to come. More...
 
 RpcPrepData (const Identifier &RDOId, const IdentifierHash &idDE, const Amg::Vector2D &locpos, std::vector< Identifier > &&rdoList, Amg::MatrixX &&locErrMat, const MuonGM::RpcReadoutElement *detEl, const float time, const int ambiguityFlag)
 
virtual ~RpcPrepData ()=default
 Destructor: More...
 
float time () const
 Returns the time. More...
 
virtual const Amg::Vector3DglobalPosition () const override
 Returns the global position. More...
 
virtual const MuonGM::RpcReadoutElementdetectorElement () const override final
 Returns the detector element corresponding to this PRD. More...
 
virtual bool type (Trk::PrepRawDataType type) const override final
 Interface method checking the type. More...
 
int triggerInfo () const
 Returns the trigger coincidence - usually false, unless ijk>5 or highpt&&ijk==0. More...
 
int ambiguityFlag () const
 Returns the number of ambiguities associated with this RpcPrepData. More...
 
float timeOverThreshold () const
 Returns the time over threshold. More...
 
virtual MsgStream & dump (MsgStream &stream) const override
 Dumps information about the PRD. More...
 
virtual std::ostream & dump (std::ostream &stream) const override
 Dumps information about the PRD. More...
 
virtual IdentifierHash collectionHash () const
 Returns the IdentifierHash corresponding to the PRD collection in the PRD container. More...
 
Identifier identify () const
 return the identifier More...
 
const Amg::Vector2DlocalPosition () const
 return the local position reference More...
 
const std::vector< Identifier > & rdoList () const
 return the List of rdo identifiers (pointers) More...
 
const Amg::MatrixXlocalCovariance () const
 return const ref to the error matrix More...
 
bool hasLocalCovariance () const
 returns localCovariance().size()!=0 More...
 
void setHashAndIndex (unsigned short collHash, unsigned short objIndex)
 TEMP for testing: might make some classes friends later ... More...
 
const IdentContIndexgetHashAndIndex () const
 

Static Public Member Functions

static std::size_t numberOfInstantiations ()
 

Static Public Attributes

static std::atomic_size_t s_numberOfInstantiations
 

Protected Attributes

CxxUtils::CachedUniquePtr< const Amg::Vector3Dm_globalPosition
 Global position of measurement. More...
 

Private Attributes

const MuonGM::RpcReadoutElementm_detEl {nullptr}
 Cached pointer to the detector element - should never be zero. More...
 
float m_time {0.f}
 Float since PRD produced from RDO, and RDO should contain the time calculated from the bcid and the RPC clock ticks. More...
 
float m_timeOverThreshold {-1.f}
 time over threshold (BIS78 chips only) More...
 
int m_triggerInfo {0}
 usually false, unless ijk>5 or highpt&&ijk==0 More...
 
int m_ambiguityFlag {0}
 Trigger ambiguities. More...
 
Identifier m_clusId { 0 }
 PrepRawData ID, not const because of DataPool. More...
 
Amg::Vector2D m_localPos {}
 see derived classes for definition of meaning of LocalPosition More...
 
std::vector< Identifierm_rdoList {}
 Stores the identifiers of the RDOs. More...
 
Amg::MatrixX m_localCovariance {}
 See derived classes for definition of ErrorMatrix. More...
 
IdentContIndex m_indexAndHash
 Stores its own position (index) in collection plus the hash id for the collection (needed for the EL to IDC) More...
 

Friends

class Muon::RpcRdoToPrepDataToolMT
 
class ::RpcPrepDataContainerCnv
 
class Muon::RpcPrepDataContainerCnv_p1
 
class Muon::RpcPrepDataContainerCnv_p2
 

Detailed Description

Class to represent RPC measurements.

Definition at line 34 of file RpcPrepData.h.

Constructor & Destructor Documentation

◆ RpcPrepData() [1/9]

Muon::RpcPrepData::RpcPrepData ( )
default

◆ RpcPrepData() [2/9]

Muon::RpcPrepData::RpcPrepData ( const RpcPrepData )
default

◆ RpcPrepData() [3/9]

Muon::RpcPrepData::RpcPrepData ( RpcPrepData &&  )
defaultnoexcept

◆ RpcPrepData() [4/9]

Muon::RpcPrepData::RpcPrepData ( const Identifier RDOId,
const IdentifierHash idDE,
const Amg::Vector2D locpos,
const std::vector< Identifier > &  rdoList,
const Amg::MatrixX locErrMat,
const MuonGM::RpcReadoutElement detEl,
const float  time,
const int  triggerInfo,
const int  ambiguityFlag 
)

Constructor.

Parameters
RDOIdThe identifier of the central strip of the cluster
idDEThe IdenifierHash of the collection used to store this object (i.e. of Muon::CscPrepDataCollection)
locposThe local coords of the measurement (this object will now own the LocalPostion)
rdoListVector of all the Identifiers of the strips used in this cluster
locErrMatThe error of the measurement (this object will now own the ErrorMatrix)
detElThe pointer to the Detector Element on which this measurement was made (must NOT be zero). Ownership is NOT taken (the pointer is assumed to belong to GeoModel and will not be deleted)
timeThe time measured by the RPC
triggerInfoThe trigger info flag - see m_triggerInfo for more definition.
ambiguityFlagThe ambiguity flag - see m_ambiguityFlag for more definition.

Definition at line 21 of file RpcPrepData.cxx.

29  :
30  MuonCluster(RDOId, idDE, locpos, rdoList, locErrMat), //call base class constructor
31  m_detEl(detEl),
32  m_time(time),
35 { }

◆ RpcPrepData() [5/9]

Muon::RpcPrepData::RpcPrepData ( const Identifier RDOId,
const IdentifierHash idDE,
const Amg::Vector2D locpos,
std::vector< Identifier > &&  rdoList,
Amg::MatrixX &&  locErrMat,
const MuonGM::RpcReadoutElement detEl,
const float  time,
const int  triggerInfo,
const int  ambiguityFlag 
)

Definition at line 68 of file RpcPrepData.cxx.

76  :
77  MuonCluster(RDOId, idDE, locpos, std::move(rdoList), std::move(locErrMat)), //call base class constructor
78  m_detEl(detEl),
79  m_time(time),
82 { }

◆ RpcPrepData() [6/9]

Muon::RpcPrepData::RpcPrepData ( const Identifier RDOId,
const IdentifierHash idDE,
const Amg::Vector2D locpos,
const std::vector< Identifier > &  rdoList,
const Amg::MatrixX locErrMat,
const MuonGM::RpcReadoutElement detEl,
const float  time,
const float  timeOverThresh,
const int  triggerInfo,
const int  ambiguityFlag 
)

Extra constructor containing the time over threshold variable.

Definition at line 37 of file RpcPrepData.cxx.

46  :
47  MuonCluster(RDOId, idDE, locpos, rdoList, locErrMat), //call base class constructor
48  m_detEl(detEl),
49  m_time(time),
50  m_timeOverThreshold(timeOverThresh),
53 { }

◆ RpcPrepData() [7/9]

Muon::RpcPrepData::RpcPrepData ( const Identifier RDOId,
const IdentifierHash idDE,
const Amg::Vector2D locpos,
std::vector< Identifier > &&  rdoList,
Amg::MatrixX &&  locErrMat,
const MuonGM::RpcReadoutElement detEl,
const float  time,
const float  timeOverThresh,
const int  triggerInfo,
const int  ambiguityFlag 
)

Definition at line 84 of file RpcPrepData.cxx.

93  :
94  MuonCluster(RDOId, idDE, locpos, std::move(rdoList), std::move(locErrMat)), //call base class constructor
95  m_detEl(detEl),
96  m_time(time),
97  m_timeOverThreshold(timeOverThresh),
100 { }

◆ RpcPrepData() [8/9]

Muon::RpcPrepData::RpcPrepData ( const Identifier RDOId,
const IdentifierHash idDE,
const Amg::Vector2D locpos,
const std::vector< Identifier > &  rdoList,
const Amg::MatrixX locErrMat,
const MuonGM::RpcReadoutElement detEl,
const float  time,
const int  ambiguityFlag 
)

Extra Constructor without TriggerInfo for a slimmed version of RpcPrepData to come.

Definition at line 55 of file RpcPrepData.cxx.

62  :
63  MuonCluster(RDOId, idDE, locpos, rdoList, locErrMat), //call base class constructor
64  m_detEl(detEl),
65  m_time(time),

◆ RpcPrepData() [9/9]

Muon::RpcPrepData::RpcPrepData ( const Identifier RDOId,
const IdentifierHash idDE,
const Amg::Vector2D locpos,
std::vector< Identifier > &&  rdoList,
Amg::MatrixX &&  locErrMat,
const MuonGM::RpcReadoutElement detEl,
const float  time,
const int  ambiguityFlag 
)

Definition at line 102 of file RpcPrepData.cxx.

109  :
110  MuonCluster(RDOId, idDE, locpos, std::move(rdoList), std::move(locErrMat)), //call base class constructor
111  m_detEl(detEl),
112  m_time(time),
114 {
115 
116 }

◆ ~RpcPrepData()

virtual Muon::RpcPrepData::~RpcPrepData ( )
virtualdefault

Destructor:

Member Function Documentation

◆ ambiguityFlag()

int Muon::RpcPrepData::ambiguityFlag ( ) const
inline

Returns the number of ambiguities associated with this RpcPrepData.

  • 0 if the ambiguites have not been removed by choice;
  • 1 if the ambiguities are fully solved
  • i+1 if "i" other MuonPrepRawData are produced along with the current one from a single RDO hit

Definition at line 212 of file RpcPrepData.h.

213 {
214  return m_ambiguityFlag;
215 }

◆ collectionHash()

IdentifierHash MuonCluster::collectionHash ( ) const
inlinevirtualinherited

Returns the IdentifierHash corresponding to the PRD collection in the PRD container.

Definition at line 104 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonCluster.h.

105  {
106  return getHashAndIndex().collHash();
107  }

◆ detectorElement()

const MuonGM::RpcReadoutElement * Muon::RpcPrepData::detectorElement ( ) const
inlinefinaloverridevirtual

Returns the detector element corresponding to this PRD.

The pointer will be zero if the det el is not defined (i.e. it was not passed in by the ctor)

Implements Muon::MuonCluster.

Definition at line 202 of file RpcPrepData.h.

203 {
204  return m_detEl;
205 }

◆ dump() [1/2]

MsgStream & Muon::RpcPrepData::dump ( MsgStream &  stream) const
overridevirtual

Dumps information about the PRD.

Reimplemented from Muon::MuonCluster.

Reimplemented in Muon::RpcCoinData.

Definition at line 119 of file RpcPrepData.cxx.

120  {
121  stream << MSG::INFO<<"RpcPrepData {"<<std::endl;
122 
124 
125  stream <<"time = "<<this->time()<<", ";
126  stream<<"triggerInfo = "<<this->triggerInfo()<<", ";
127  stream<<"ambiguityFlag = "<<this->ambiguityFlag()<<", ";
128  stream<<"}"<<endmsg;
129 
130  return stream;
131  }

◆ dump() [2/2]

std::ostream & Muon::RpcPrepData::dump ( std::ostream &  stream) const
overridevirtual

Dumps information about the PRD.

Reimplemented from Muon::MuonCluster.

Reimplemented in Muon::RpcCoinData.

Definition at line 134 of file RpcPrepData.cxx.

135  {
136  stream << "RpcPrepData {"<<std::endl;
137 
139  std::stringstream s;
140  s << std::setiosflags(std::ios::fixed);
141  s << std::setprecision(4);
142  s <<"time = "<<this->time()<<", ";
143  s <<"triggerInfo = "<<this->triggerInfo()<<", ";
144  s <<"ambiguityFlag = "<<this->ambiguityFlag()<<", ";
145  s <<"}"<<std::endl;
146  stream << s.str();
147 
148  return stream;
149  }

◆ getHashAndIndex()

const IdentContIndex& Trk::PrepRawData::getHashAndIndex ( ) const
inherited

◆ globalPosition()

const Amg::Vector3D & Muon::RpcPrepData::globalPosition ( ) const
inlineoverridevirtual

Returns the global position.

Implements Muon::MuonCluster.

Definition at line 218 of file RpcPrepData.h.

219  {
220  if (!m_globalPosition) {
221  m_globalPosition.set(std::make_unique<const Amg::Vector3D>(
224  }
225  return *m_globalPosition;
226  }

◆ hasLocalCovariance()

bool Trk::PrepRawData::hasLocalCovariance ( ) const
inherited

◆ identify()

Identifier Trk::PrepRawData::identify ( ) const
inherited

return the identifier

◆ localCovariance()

const Amg::MatrixX& Trk::PrepRawData::localCovariance ( ) const
inherited

return const ref to the error matrix

◆ localPosition()

const Amg::Vector2D& Trk::PrepRawData::localPosition ( ) const
inherited

return the local position reference

◆ numberOfInstantiations()

static std::size_t Trk::ObjectCounter< Trk::PrepRawData >::numberOfInstantiations ( )
inlinestaticinherited

Definition at line 25 of file TrkObjectCounter.h.

26  {
27 #ifndef NDEBUG
28  return s_numberOfInstantiations.load();
29 #endif
30  return 0;
31  }

◆ operator=() [1/2]

RpcPrepData& Muon::RpcPrepData::operator= ( const RpcPrepData )
default

◆ operator=() [2/2]

RpcPrepData& Muon::RpcPrepData::operator= ( RpcPrepData &&  )
defaultnoexcept

◆ rdoList()

const std::vector<Identifier>& Trk::PrepRawData::rdoList ( ) const
inherited

return the List of rdo identifiers (pointers)

◆ setHashAndIndex()

void Trk::PrepRawData::setHashAndIndex ( unsigned short  collHash,
unsigned short  objIndex 
)
inherited

TEMP for testing: might make some classes friends later ...

◆ time()

float Muon::RpcPrepData::time ( ) const
inline

Returns the time.

Definition at line 197 of file RpcPrepData.h.

198 {
199  return m_time;
200 }

◆ timeOverThreshold()

float Muon::RpcPrepData::timeOverThreshold ( ) const
inline

Returns the time over threshold.

Definition at line 216 of file RpcPrepData.h.

216 { return m_timeOverThreshold; }

◆ triggerInfo()

int Muon::RpcPrepData::triggerInfo ( ) const
inline

Returns the trigger coincidence - usually false, unless ijk>5 or highpt&&ijk==0.

Definition at line 207 of file RpcPrepData.h.

208 {
209  return m_triggerInfo;
210 }

◆ type()

virtual bool Muon::RpcPrepData::type ( Trk::PrepRawDataType  type) const
inlinefinaloverridevirtual

Interface method checking the type.

Implements Muon::MuonCluster.

Definition at line 143 of file RpcPrepData.h.

144  {
146  }

Friends And Related Function Documentation

◆ ::RpcPrepDataContainerCnv

friend class ::RpcPrepDataContainerCnv
friend

Definition at line 44 of file RpcPrepData.h.

◆ Muon::RpcPrepDataContainerCnv_p1

friend class Muon::RpcPrepDataContainerCnv_p1
friend

Definition at line 45 of file RpcPrepData.h.

◆ Muon::RpcPrepDataContainerCnv_p2

friend class Muon::RpcPrepDataContainerCnv_p2
friend

Definition at line 46 of file RpcPrepData.h.

◆ Muon::RpcRdoToPrepDataToolMT

friend class Muon::RpcRdoToPrepDataToolMT
friend

Definition at line 37 of file RpcPrepData.h.

Member Data Documentation

◆ m_ambiguityFlag

int Muon::RpcPrepData::m_ambiguityFlag {0}
private

Trigger ambiguities.

  • 0 if the ambiguites have not been removed by choice;
  • 1 if the ambiguities are fully solved
  • i+1 if "i" other preprawdata are produced along with the current one from a single RDO hit

Definition at line 187 of file RpcPrepData.h.

◆ m_clusId

Identifier Trk::PrepRawData::m_clusId { 0 }
privateinherited

PrepRawData ID, not const because of DataPool.

Definition at line 151 of file PrepRawData.h.

◆ m_detEl

const MuonGM::RpcReadoutElement* Muon::RpcPrepData::m_detEl {nullptr}
private

Cached pointer to the detector element - should never be zero.

Definition at line 169 of file RpcPrepData.h.

◆ m_globalPosition

CxxUtils::CachedUniquePtr<const Amg::Vector3D> Muon::MuonCluster::m_globalPosition
protectedinherited

Global position of measurement.

Calculated on demand and cached

Definition at line 96 of file MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonCluster.h.

◆ m_indexAndHash

IdentContIndex Trk::PrepRawData::m_indexAndHash
privateinherited

Stores its own position (index) in collection plus the hash id for the collection (needed for the EL to IDC)

Definition at line 162 of file PrepRawData.h.

◆ m_localCovariance

Amg::MatrixX Trk::PrepRawData::m_localCovariance {}
privateinherited

See derived classes for definition of ErrorMatrix.

Definition at line 158 of file PrepRawData.h.

◆ m_localPos

Amg::Vector2D Trk::PrepRawData::m_localPos {}
privateinherited

see derived classes for definition of meaning of LocalPosition

Definition at line 154 of file PrepRawData.h.

◆ m_rdoList

std::vector<Identifier> Trk::PrepRawData::m_rdoList {}
privateinherited

Stores the identifiers of the RDOs.

Definition at line 156 of file PrepRawData.h.

◆ m_time

float Muon::RpcPrepData::m_time {0.f}
private

Float since PRD produced from RDO, and RDO should contain the time calculated from the bcid and the RPC clock ticks.

(as bcid*25+ticks*3.125).

Definition at line 173 of file RpcPrepData.h.

◆ m_timeOverThreshold

float Muon::RpcPrepData::m_timeOverThreshold {-1.f}
private

time over threshold (BIS78 chips only)

Definition at line 178 of file RpcPrepData.h.

◆ m_triggerInfo

int Muon::RpcPrepData::m_triggerInfo {0}
private

usually false, unless ijk>5 or highpt&&ijk==0

Definition at line 182 of file RpcPrepData.h.

◆ s_numberOfInstantiations

std::atomic_size_t Trk::ObjectCounter< Trk::PrepRawData >::s_numberOfInstantiations
inlinestaticinherited

Definition at line 22 of file TrkObjectCounter.h.


The documentation for this class was generated from the following files:
Muon::RpcPrepData::m_detEl
const MuonGM::RpcReadoutElement * m_detEl
Cached pointer to the detector element - should never be zero.
Definition: RpcPrepData.h:169
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
Muon::RpcPrepData::m_timeOverThreshold
float m_timeOverThreshold
time over threshold (BIS78 chips only)
Definition: RpcPrepData.h:178
Trk::PrepRawData::rdoList
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)
Muon::RpcPrepData::m_time
float m_time
Float since PRD produced from RDO, and RDO should contain the time calculated from the bcid and the R...
Definition: RpcPrepData.h:173
Trk::PrepRawDataType::RpcPrepData
@ RpcPrepData
MuonGM::MuonClusterReadoutElement::surface
virtual const Trk::PlaneSurface & surface() const override
access to chamber surface (phi orientation), uses the first gas gap
Definition: MuonClusterReadoutElement.h:123
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
Muon::RpcPrepData::time
float time() const
Returns the time.
Definition: RpcPrepData.h:197
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
Muon::RpcPrepData::type
virtual bool type(Trk::PrepRawDataType type) const override final
Interface method checking the type.
Definition: RpcPrepData.h:143
Muon::RpcPrepData::triggerInfo
int triggerInfo() const
Returns the trigger coincidence - usually false, unless ijk>5 or highpt&&ijk==0.
Definition: RpcPrepData.h:207
Muon::RpcPrepData::m_triggerInfo
int m_triggerInfo
usually false, unless ijk>5 or highpt&&ijk==0
Definition: RpcPrepData.h:182
Trk::PrepRawData::identify
Identifier identify() const
return the identifier
Trk::PrepRawData::localPosition
const Amg::Vector2D & localPosition() const
return the local position reference
Trk::PrepRawData::getHashAndIndex
const IdentContIndex & getHashAndIndex() const
Muon::MuonCluster::MuonCluster
MuonCluster()
Default constructor.
Definition: MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/src/MuonCluster.cxx:50
Trk::ObjectCounter< Trk::PrepRawData >::s_numberOfInstantiations
static std::atomic_size_t s_numberOfInstantiations
Definition: TrkObjectCounter.h:22
Muon::RpcPrepData::m_ambiguityFlag
int m_ambiguityFlag
Trigger ambiguities.
Definition: RpcPrepData.h:187
Muon::MuonCluster::m_globalPosition
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalPosition
Global position of measurement.
Definition: MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/MuonPrepRawData/MuonCluster.h:96
Muon::MuonCluster::dump
virtual MsgStream & dump(MsgStream &stream) const override
Dumps information about the PRD.
Definition: MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonPrepRawData/src/MuonCluster.cxx:78
Muon::RpcPrepData::ambiguityFlag
int ambiguityFlag() const
Returns the number of ambiguities associated with this RpcPrepData.
Definition: RpcPrepData.h:212
IdentContIndex::collHash
unsigned short collHash() const
Accessor to hash, obj index and combined index.
Definition: IdentContIndex.h:85
Trk::Surface::localToGlobal
virtual void localToGlobal(const Amg::Vector2D &locp, const Amg::Vector3D &mom, Amg::Vector3D &glob) const =0
Specified by each surface type: LocalToGlobal method without dynamic memory allocation.