ATLAS Offline Software
Loading...
Searching...
No Matches
xAOD::MuonAuxContainer_v3 Class Referenceabstract

Temporary container used until we have I/O for AuxStoreInternal. More...

#include <MuonAuxContainer_v3.h>

Inheritance diagram for xAOD::MuonAuxContainer_v3:
Collaboration diagram for xAOD::MuonAuxContainer_v3:

Public Types

typedef SG::auxid_t auxid_t
 The aux ID type definition.
typedef SG::auxid_set_t auxid_set_t
 The aux ID set type definition.
template<class T, class ALLOC = std::allocator<T>>
using AuxVariable_t = std::vector<T, ALLOC>
 Declare how to wrap variables for this sort of base.
template<class T, class ALLOC = std::allocator<T>>
using LinkedVariable_t = AuxVariable_t<T, ALLOC>
enum  AuxStoreType { AST_ObjectStore = 0 , AST_ContainerStore = 1 }
 Type of the auxiliary store. More...

Public Member Functions

 MuonAuxContainer_v3 ()
 Default constructor.
virtual bool insertMove (size_t pos, IAuxStore &other, const SG::auxid_set_t &ignore=SG::auxid_set_t())=0
 Move all elements from other to this store.
template<typename T, typename ALLOC>
auxid_t getAuxID (const std::string &name, std::vector< T, ALLOC > &, SG::AuxVarFlags flags=SG::AuxVarFlags::None, const SG::auxid_t linkedVariable=SG::null_auxid)
 Get the auxiliary ID for one of the persistent variables.
template<typename T>
auxid_t getAuxID (const std::string &name, SG::PackedContainer< T > &, SG::AuxVarFlags flags=SG::AuxVarFlags::None, const SG::auxid_t linkedVariable=SG::null_auxid)
 Get the auxiliary ID for one of the persistent variables.
template<typename T, typename ALLOC>
void regAuxVar (auxid_t auxid, const std::string &name, std::vector< T, ALLOC > &vec)
 Register one of the persistent variables internally.
template<typename T>
void regAuxVar (auxid_t auxid, const std::string &name, SG::PackedContainer< T > &vec)
 Register one of the persistent variables internally.
Functions implementing the SG::IAuxStoreHolder interface
virtual SG::IAuxStoregetStore () override
 Get the currently used internal store object.
virtual const SG::IAuxStoregetStore () const override
virtual void setStore (SG::IAuxStore *store) override
 Set a different internal store object.
virtual AuxStoreType getStoreType () const override
 Return the type of the store object.
std::pmr::memory_resource * memResource ()
 Return the memory resource to use.
Functions implementing the SG::IConstAuxStore interface
virtual const void * getData (auxid_t auxid) const override
 Get a pointer to a given array.
virtual const SG::IAuxTypeVectorgetVector (SG::auxid_t auxid) const override final
 Return vector interface for one aux data item.
virtual const auxid_set_tgetAuxIDs () const override
 Get the types(names) of variables handled by this container.
virtual const auxid_set_tgetDecorIDs () const override
 Get the types(names) of decorations handled by this container.
virtual bool isDecoration (auxid_t auxid) const override
 Test if a variable is a decoration.
virtual void * getDecoration (auxid_t auxid, size_t size, size_t capacity) override
 Get a pointer to a given array, as a decoration.
virtual void lock () override
 Lock the container.
virtual bool clearDecorations () override
 Clear all decorations.
virtual size_t size () const override
 Get the size of the container.
virtual void lockDecoration (SG::auxid_t auxid) override
 Lock a decoration.
virtual const SG::IAuxTypeVectorlinkedVector (SG::auxid_t auxid) const override
 Return interface for a linked variable.
Functions implementing the SG::IAuxStore interface
virtual void * getData (auxid_t auxid, size_t size, size_t capacity) override
 Get a pointer to a given array, creating the array if necessary.
virtual SG::IAuxTypeVectorlinkedVector (SG::auxid_t auxid) override
 Return interface for a linked variable.
virtual const auxid_set_tgetWritableAuxIDs () const override
 Return a set of writable data identifiers.
virtual bool resize (size_t size) override
 Resize the arrays to a given size.
virtual void reserve (size_t size) override
 Reserve a given size for the arrays.
virtual void shift (size_t pos, ptrdiff_t offs) override
 Shift the contents of the stored arrays.
virtual bool insertMove (size_t pos, IAuxStore &other, const SG::auxid_set_t &ignore) override
 Insert contents of another store via move.
virtual bool setOption (auxid_t id, const SG::AuxDataOption &option) override
 Make an option setting on an aux variable.
Functions implementing the SG::IAuxStoreIO interface
virtual const void * getIOData (auxid_t auxid) const override
 Get a pointer to the data being stored for one aux data item.
virtual const std::type_info * getIOType (auxid_t auxid) const override
 Return the type of the data to be stored for one aux data item.
virtual const auxid_set_tgetDynamicAuxIDs () const override
 Get the types(names) of variables created dynamically.
virtual SG::auxid_set_t getSelectedAuxIDs () const override
 Get the IDs of the selected dynamic Aux variables (for writing)
Functions managing the instance name of the container
const charname () const
 Get the name of the container instance.
void setName (const char *name)
 Set the name of the container instance.

Static Public Attributes

static constexpr bool supportsThinning = true
 Mark that this type supports thinning operations.

Private Types

typedef AthContainers_detail::mutex mutex_t
 Mutex for multithread synchronization.
typedef AthContainers_detail::lock_guard< mutex_tguard_t

Private Member Functions

template<typename ELT, typename CONT>
void regAuxVar1 (auxid_t auxid, const std::string &name, CONT &vec)
 Common code between regAuxVar cases.

Private Attributes

auxid_set_t m_auxids
 Internal list of all available variables.
std::vector< SG::IAuxTypeVector * > m_vecs
 Internal list of all managed variables.
SG::IAuxStorem_store
 Internal dynamic auxiliary store object.
SG::IAuxStoreIOm_storeIO
 The IO interface to the internal auxiliary store.
bool m_ownsStore
 Flag deciding if the object owns the dynamic store or not.
bool m_locked
 Has the container been locked?
mutex_t m_mutex
std::string m_name
 Name of the container in memory. Set externally.
CxxUtils::CachedPointer< std::pmr::memory_resource > m_memResource ATLAS_THREAD_SAFE
 Memory resource to use for this container.
iParticle values
std::vector< floatpt
std::vector< floateta
std::vector< floatphi
std::vector< floatcharge
Muon summary information
std::vector< uint16_tallAuthors
std::vector< uint16_tauthor
std::vector< uint16_tmuonType
std::vector< uint8_tquality
TrackSummary and MuonTrackSummary information
std::vector< uint8_tnumberOfPrecisionLayers
std::vector< uint8_tnumberOfPrecisionHoleLayers
std::vector< uint8_tnumberOfPhiLayers
std::vector< uint8_tnumberOfPhiHoleLayers
std::vector< uint8_tnumberOfTriggerEtaLayers
std::vector< uint8_tnumberOfTriggerEtaHoleLayers
std::vector< uint8_tprimarySector
std::vector< uint8_tsecondarySector
std::vector< uint8_tinnerSmallHits
std::vector< uint8_tinnerLargeHits
std::vector< uint8_tmiddleSmallHits
std::vector< uint8_tmiddleLargeHits
std::vector< uint8_touterSmallHits
std::vector< uint8_touterLargeHits
std::vector< uint8_textendedSmallHits
std::vector< uint8_textendedLargeHits
std::vector< uint8_tinnerSmallHoles
std::vector< uint8_tinnerLargeHoles
std::vector< uint8_tmiddleSmallHoles
std::vector< uint8_tmiddleLargeHoles
std::vector< uint8_touterSmallHoles
std::vector< uint8_touterLargeHoles
std::vector< uint8_textendedSmallHoles
std::vector< uint8_textendedLargeHoles
std::vector< uint8_tphiLayer1Hits
std::vector< uint8_tphiLayer2Hits
std::vector< uint8_tphiLayer3Hits
std::vector< uint8_tphiLayer4Hits
std::vector< uint8_tetaLayer1Hits
std::vector< uint8_tetaLayer2Hits
std::vector< uint8_tetaLayer3Hits
std::vector< uint8_tetaLayer4Hits
std::vector< uint8_tphiLayer1Holes
std::vector< uint8_tphiLayer2Holes
std::vector< uint8_tphiLayer3Holes
std::vector< uint8_tphiLayer4Holes
std::vector< uint8_tetaLayer1Holes
std::vector< uint8_tetaLayer2Holes
std::vector< uint8_tetaLayer3Holes
std::vector< uint8_tetaLayer4Holes
Isolation values
std::vector< floatetcone20
std::vector< floatetcone30
std::vector< floatetcone40
std::vector< floatptcone20
std::vector< floatptcone30
std::vector< floatptcone40
std::vector< floatptvarcone20
std::vector< floatptvarcone30
std::vector< floatptvarcone40
Links
std::vector< ElementLink< TrackParticleContainer > > inDetTrackParticleLink
std::vector< ElementLink< TrackParticleContainer > > muonSpectrometerTrackParticleLink
std::vector< ElementLink< TrackParticleContainer > > extrapolatedMuonSpectrometerTrackParticleLink
std::vector< ElementLink< TrackParticleContainer > > combinedTrackParticleLink
std::vector< ElementLink< CaloClusterContainer > > clusterLink
std::vector< std::vector< ElementLink< MuonSegmentContainer > > > muonSegmentLinks
Energy loss
std::vector< uint8_tenergyLossType
Param defs
std::vector< floatspectrometerFieldIntegral
std::vector< floatscatteringCurvatureSignificance
std::vector< floatscatteringNeighbourSignificance
std::vector< floatmomentumBalanceSignificance
std::vector< floatsegmentDeltaEta
std::vector< floatsegmentDeltaPhi
std::vector< floatsegmentChi2OverDoF
std::vector< floatt0
std::vector< floatbeta
std::vector< floatannBarrel
std::vector< floatannEndCap
std::vector< floatinnAngle
std::vector< floatmidAngle
std::vector< floatmsInnerMatchChi2
std::vector< floatmeanDeltaADCCountsMDT
std::vector< floatCaloLRLikelihood
std::vector< floatEnergyLoss
std::vector< floatParamEnergyLoss
std::vector< floatMeasEnergyLoss
std::vector< floatEnergyLossSigma
std::vector< floatParamEnergyLossSigmaPlus
std::vector< floatParamEnergyLossSigmaMinus
std::vector< floatMeasEnergyLossSigma
std::vector< intmsInnerMatchDOF
std::vector< intmsOuterMatchDOF
std::vector< intCaloMuonIDTag
std::vector< floatd0_sa
std::vector< floatz0_sa
std::vector< floatphi0_sa
std::vector< floattheta_sa
std::vector< floatqOverP_sa
std::vector< floatEloss_sa

Detailed Description

Temporary container used until we have I/O for AuxStoreInternal.

This class is meant to serve as a temporary way to provide an auxiliary store with Athena I/O capabilities for the Muon EDM. Will be exchanged for a generic auxiliary container type (AuxStoreInternal) later on.

Author
Edward Moyse

Definition at line 31 of file MuonAuxContainer_v3.h.

Member Typedef Documentation

◆ auxid_set_t

The aux ID set type definition.

Definition at line 61 of file AuxContainerBase.h.

◆ auxid_t

The aux ID type definition.

Definition at line 59 of file AuxContainerBase.h.

◆ AuxVariable_t

template<class T, class ALLOC = std::allocator<T>>
using xAOD::AuxContainerBase::AuxVariable_t = std::vector<T, ALLOC>
inherited

Declare how to wrap variables for this sort of base.

Definition at line 191 of file AuxContainerBase.h.

◆ guard_t

Definition at line 243 of file AuxContainerBase.h.

◆ LinkedVariable_t

template<class T, class ALLOC = std::allocator<T>>
using xAOD::AuxContainerBase::LinkedVariable_t = AuxVariable_t<T, ALLOC>
inherited

Definition at line 193 of file AuxContainerBase.h.

◆ mutex_t

Mutex for multithread synchronization.

Definition at line 242 of file AuxContainerBase.h.

Member Enumeration Documentation

◆ AuxStoreType

Type of the auxiliary store.

In the xAOD EDM we use auxiliary store objects in some cases to describe a single object, and in most cases to describe a container of objects. This enumeration declares which type the object implementing this interface is.

Enumerator
AST_ObjectStore 

The store describes a single object.

AST_ContainerStore 

The store describes a container.

Definition at line 66 of file IAuxStoreHolder.h.

66 {
67 AST_ObjectStore = 0,
69 };
@ AST_ContainerStore
The store describes a container.
@ AST_ObjectStore
The store describes a single object.

Constructor & Destructor Documentation

◆ MuonAuxContainer_v3()

xAOD::MuonAuxContainer_v3::MuonAuxContainer_v3 ( )

Default constructor.

Definition at line 10 of file MuonAuxContainer_v3.cxx.

12
13 // iParticle
18
19
20 // Muon summary
24 AUX_VARIABLE( quality ); //quality, passesIDCuts and passesHighPtCuts are packed in here.
25
26 // Energyloss
28
29 // Muon-specific track summary (the other track summary information is retrieved from the TrackParticle)
38
47
56
61
66
71
76
77 // Isolation
87
88 // Links
95
96 // Paramdefs
129 }
#define AUX_VARIABLE(VAR,...)
Convenience macro for declaring an auxiliary variable.
Definition AuxVariable.h:23
AuxContainerBase(bool allowDynamicVars=true)
Default constructor.
std::vector< uint8_t > phiLayer3Holes
std::vector< float > msInnerMatchChi2
std::vector< uint8_t > etaLayer4Hits
std::vector< uint8_t > innerLargeHoles
std::vector< float > etcone20
std::vector< float > MeasEnergyLoss
std::vector< uint8_t > etaLayer1Holes
std::vector< uint8_t > extendedLargeHoles
std::vector< float > qOverP_sa
std::vector< std::vector< ElementLink< MuonSegmentContainer > > > muonSegmentLinks
std::vector< uint8_t > secondarySector
std::vector< uint8_t > extendedSmallHits
std::vector< float > ptcone40
std::vector< uint8_t > quality
std::vector< uint8_t > numberOfTriggerEtaLayers
std::vector< uint8_t > extendedLargeHits
std::vector< float > momentumBalanceSignificance
std::vector< float > ptvarcone30
std::vector< float > annEndCap
std::vector< uint8_t > etaLayer4Holes
std::vector< float > CaloLRLikelihood
std::vector< uint8_t > extendedSmallHoles
std::vector< float > charge
std::vector< uint8_t > outerLargeHits
std::vector< ElementLink< CaloClusterContainer > > clusterLink
std::vector< uint8_t > numberOfPhiHoleLayers
std::vector< float > segmentChi2OverDoF
std::vector< uint8_t > phiLayer1Holes
std::vector< uint8_t > middleSmallHoles
std::vector< float > segmentDeltaEta
std::vector< uint8_t > outerLargeHoles
std::vector< float > innAngle
std::vector< uint8_t > numberOfTriggerEtaHoleLayers
std::vector< float > Eloss_sa
std::vector< uint8_t > numberOfPhiLayers
std::vector< uint16_t > muonType
std::vector< float > theta_sa
std::vector< uint8_t > innerSmallHits
std::vector< uint8_t > etaLayer3Holes
std::vector< float > MeasEnergyLossSigma
std::vector< uint8_t > numberOfPrecisionHoleLayers
std::vector< uint8_t > phiLayer1Hits
std::vector< float > meanDeltaADCCountsMDT
std::vector< uint8_t > phiLayer4Hits
std::vector< float > ptcone20
std::vector< uint8_t > middleLargeHits
std::vector< uint8_t > phiLayer4Holes
std::vector< uint8_t > innerLargeHits
std::vector< ElementLink< TrackParticleContainer > > inDetTrackParticleLink
std::vector< float > ptvarcone20
std::vector< float > ParamEnergyLossSigmaMinus
std::vector< uint8_t > middleLargeHoles
std::vector< int > msOuterMatchDOF
std::vector< uint8_t > middleSmallHits
std::vector< uint8_t > numberOfPrecisionLayers
std::vector< float > midAngle
std::vector< uint8_t > etaLayer1Hits
std::vector< uint16_t > allAuthors
std::vector< uint8_t > etaLayer2Hits
std::vector< float > scatteringCurvatureSignificance
std::vector< uint8_t > phiLayer3Hits
std::vector< int > msInnerMatchDOF
std::vector< uint8_t > innerSmallHoles
std::vector< float > spectrometerFieldIntegral
std::vector< uint8_t > primarySector
std::vector< uint8_t > phiLayer2Holes
std::vector< ElementLink< TrackParticleContainer > > combinedTrackParticleLink
std::vector< float > etcone40
std::vector< uint8_t > etaLayer2Holes
std::vector< uint8_t > outerSmallHits
std::vector< float > EnergyLossSigma
std::vector< float > scatteringNeighbourSignificance
std::vector< float > ParamEnergyLoss
std::vector< float > segmentDeltaPhi
std::vector< float > ParamEnergyLossSigmaPlus
std::vector< uint16_t > author
std::vector< uint8_t > etaLayer3Hits
std::vector< uint8_t > outerSmallHoles
std::vector< float > annBarrel
std::vector< ElementLink< TrackParticleContainer > > muonSpectrometerTrackParticleLink
std::vector< float > EnergyLoss
std::vector< uint8_t > energyLossType
std::vector< float > ptvarcone40
std::vector< ElementLink< TrackParticleContainer > > extrapolatedMuonSpectrometerTrackParticleLink
std::vector< float > etcone30
std::vector< uint8_t > phiLayer2Hits
std::vector< float > ptcone30

Member Function Documentation

◆ clearDecorations()

bool xAOD::AuxContainerBase::clearDecorations ( )
overridevirtualinherited

Clear all decorations.

Implements SG::IConstAuxStore.

Definition at line 359 of file AuxContainerBase.cxx.

359 {
360
361 // Guard against multi-threaded execution:
362 guard_t guard( m_mutex );
363
364 // Clear the decorations from the dynamic store:
365 bool anycleared = false;
366 if( m_store ) {
367 anycleared = m_store->clearDecorations();
368 }
369 // Early exit if there were no decorations.
370 if (!anycleared) return false;
371
372 // Construct the list of managed auxiliary variables from scratch after
373 // the cleanup:
375 for( auxid_t auxid = 0; auxid < m_vecs.size(); ++auxid ) {
376 if( m_vecs[ auxid ] ) {
377 ids.insert( auxid );
378 }
379 }
380 if( m_store ) {
381 ids.insert (m_store->getAuxIDs());
382 }
383 m_auxids = std::move(ids);
384
385 return true;
386 }
SG::auxid_set_t auxid_set_t
The aux ID set type definition.
SG::IAuxStore * m_store
Internal dynamic auxiliary store object.
AthContainers_detail::lock_guard< mutex_t > guard_t
auxid_set_t m_auxids
Internal list of all available variables.
std::vector< SG::IAuxTypeVector * > m_vecs
Internal list of all managed variables.
SG::auxid_t auxid_t
The aux ID type definition.

◆ getAuxID() [1/2]

template<typename T>
auxid_t xAOD::AuxContainerBase::getAuxID ( const std::string & name,
SG::PackedContainer< T > & ,
SG::AuxVarFlags flags = SG::AuxVarFlags::None,
const SG::auxid_t linkedVariable = SG::null_auxid )
inherited

Get the auxiliary ID for one of the persistent variables.

◆ getAuxID() [2/2]

template<typename T, typename ALLOC>
auxid_t xAOD::AuxContainerBase::getAuxID ( const std::string & name,
std::vector< T, ALLOC > & ,
SG::AuxVarFlags flags = SG::AuxVarFlags::None,
const SG::auxid_t linkedVariable = SG::null_auxid )
inherited

Get the auxiliary ID for one of the persistent variables.

◆ getAuxIDs()

const AuxContainerBase::auxid_set_t & xAOD::AuxContainerBase::getAuxIDs ( ) const
overridevirtualinherited

Get the types(names) of variables handled by this container.

Implements SG::IConstAuxStore.

Definition at line 277 of file AuxContainerBase.cxx.

277 {
278
279 // Return the full list of IDs:
280 return getWritableAuxIDs();
281 }
virtual const auxid_set_t & getWritableAuxIDs() const override
Return a set of writable data identifiers.

◆ getData() [1/2]

const void * xAOD::AuxContainerBase::getData ( auxid_t auxid) const
overridevirtualinherited

Get a pointer to a given array.

Implements SG::IConstAuxStore.

Definition at line 232 of file AuxContainerBase.cxx.

232 {
233
234 const SG::IAuxTypeVector* v = getVector( auxid );
235 if( v ) {
236 return v->toPtr();
237 }
238 return nullptr;
239 }
virtual const SG::IAuxTypeVector * getVector(SG::auxid_t auxid) const override final
Return vector interface for one aux data item.

◆ getData() [2/2]

void * xAOD::AuxContainerBase::getData ( auxid_t auxid,
size_t size,
size_t capacity )
overridevirtualinherited

Get a pointer to a given array, creating the array if necessary.

Implements SG::IAuxStore.

Definition at line 464 of file AuxContainerBase.cxx.

465 {
466
467 // Guard against multi-threaded execution:
468 guard_t guard( m_mutex );
469
470 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
471
472 if( m_store ) {
473 void* result = m_store->getData( auxid, size, capacity );
474 if( result ) {
475 m_auxids.insert( auxid );
476 const SG::AuxTypeRegistry& r = SG::AuxTypeRegistry::instance();
477 auxid_t linked_id = r.linkedVariable( auxid );
478 if (linked_id != SG::null_auxid) {
479 m_auxids.insert( linked_id );
480 }
481 }
482 return result;
483 } else {
484 std::cout << "ERROR xAOD::AuxContainerBase::getData "
485 << "Unknown variable ("
487 << ") requested" << std::endl;
488 return nullptr;
489 }
490 }
491 m_vecs[ auxid ]->reserve( capacity );
492 if (m_vecs[ auxid ]->size() < size) {
493 m_vecs[ auxid ]->resize( size );
494 }
495
496 return m_vecs[ auxid ]->toPtr();
497 }
std::string getName(SG::auxid_t auxid) const
Return the name of an aux data item.
static AuxTypeRegistry & instance()
Return the singleton registry instance.
virtual size_t size() const override
Get the size of the container.
int r
Definition globals.cxx:22
static const auxid_t null_auxid
To signal no aux data item.
Definition AuxTypes.h:30

◆ getDecoration()

void * xAOD::AuxContainerBase::getDecoration ( auxid_t auxid,
size_t size,
size_t capacity )
overridevirtualinherited

Get a pointer to a given array, as a decoration.

Implements SG::IConstAuxStore.

Reimplemented in xAOD::EventInfoAuxContainer_v1.

Definition at line 302 of file AuxContainerBase.cxx.

303 {
304 {
305 // Guard against multi-threaded execution:
306 guard_t guard( m_mutex );
307
308 // Check if we have it as a static variable:
309 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
310 // If not, but we have a dynamic store, push it in there:
311 if( m_store ) {
312 void* result = m_store->getDecoration( auxid, size, capacity );
313 if( result ) {
314 m_auxids.insert( auxid );
315 const SG::AuxTypeRegistry& r = SG::AuxTypeRegistry::instance();
316 auxid_t linked_id = r.linkedVariable( auxid );
317 if (linked_id != SG::null_auxid) {
318 m_auxids.insert( linked_id );
319 }
320 }
321 return result;
322 }
323 // If we don't have a dynamic store, complain:
324 else {
325 std::cout << "ERROR xAOD::AuxContainerBase::getDecoration "
326 << "Can't provide variable "
328 << std::endl;
329 return nullptr;
330 }
331 }
332
333 // If the container is locked, static variables can't be accessed this
334 // way:
335 if( m_locked ) {
336 throw SG::ExcStoreLocked( auxid );
337 }
338 }
339
340 // If the container is not locked, then fall back on the normal accessor
341 // function:
342 return getData( auxid, size, capacity );
343 }
bool m_locked
Has the container been locked?
virtual const void * getData(auxid_t auxid) const override
Get a pointer to a given array.

◆ getDecorIDs()

const AuxContainerBase::auxid_set_t & xAOD::AuxContainerBase::getDecorIDs ( ) const
overridevirtualinherited

Get the types(names) of decorations handled by this container.

Implements SG::IConstAuxStore.

Definition at line 284 of file AuxContainerBase.cxx.

284 {
285
286 if( m_store ) {
287 return m_store->getDecorIDs();
288 }
289 static const auxid_set_t empty;
290 return empty;
291 }
static const Attributes_t empty

◆ getDynamicAuxIDs()

const AuxContainerBase::auxid_set_t & xAOD::AuxContainerBase::getDynamicAuxIDs ( ) const
overridevirtualinherited

Get the types(names) of variables created dynamically.

Implements SG::IAuxStoreIO.

Definition at line 703 of file AuxContainerBase.cxx.

703 {
704
705 // Guard against multi-threaded execution:
706 guard_t guard( m_mutex );
707
708 // All the variables handled by the internal store are dynamic
709 // if such a store exists:
710 if( m_storeIO ) {
711 // I mean, all the variables. Not just the ones reported as dynamic
712 // by the internal object. Because the internal object may be something
713 // that was put into this one in order to achieve data slimming.
714 return m_store->getAuxIDs();
715 }
716 // In case we don't use an internal store, there are no dynamic
717 // variables:
718 static const auxid_set_t dummy (0);
719 return dummy;
720 }
SG::IAuxStoreIO * m_storeIO
The IO interface to the internal auxiliary store.

◆ getIOData()

const void * xAOD::AuxContainerBase::getIOData ( auxid_t auxid) const
overridevirtualinherited

Get a pointer to the data being stored for one aux data item.

Implements SG::IAuxStoreIO.

Definition at line 661 of file AuxContainerBase.cxx.

661 {
662
663 // Guard against multi-threaded execution:
664 guard_t guard( m_mutex );
665
666 // If the variable is not static, look for it in the dynamic store:
667 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
668 if( m_storeIO ) {
669 return m_storeIO->getIOData( auxid );
670 } else {
671 std::cout << "ERROR xAOD::AuxContainerBase::getIOData "
672 << "Unknown variable ("
674 << ") requested" << std::endl;
675 return nullptr;
676 }
677 }
678
679 // Update the statistics for this variable. The dynamic store registers
680 // its own variable accesses.
682
683 return m_vecs[ auxid ]->toVector();
684 }
std::string m_name
Name of the container in memory. Set externally.
ReadStats & stats()
Access the object belonging to the current thread.
Definition IOStats.cxx:17
static IOStats & instance()
Singleton object accessor.
Definition IOStats.cxx:11
void readBranch(const std::string &prefix, SG::auxid_t auxid)
Function incrementing the read counter on a specific branch.

◆ getIOType()

const std::type_info * xAOD::AuxContainerBase::getIOType ( auxid_t auxid) const
overridevirtualinherited

Return the type of the data to be stored for one aux data item.

Implements SG::IAuxStoreIO.

Definition at line 686 of file AuxContainerBase.cxx.

686 {
687
688 // Guard against multi-threaded execution:
689 guard_t guard( m_mutex );
690
691 // If the variable is not static, ask the dynamic store:
692 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
693 if( m_storeIO ) {
694 return m_storeIO->getIOType( auxid );
695 }
696 }
697
698 // Fall back on getting the information from the registry:
700 }
const std::type_info * getVecType(SG::auxid_t auxid) const
Return the type of the STL vector used to hold an aux data item.

◆ getSelectedAuxIDs()

AuxContainerBase::auxid_set_t xAOD::AuxContainerBase::getSelectedAuxIDs ( ) const
overridevirtualinherited

Get the IDs of the selected dynamic Aux variables (for writing)

Reimplemented from SG::IAuxStoreIO.

Definition at line 723 of file AuxContainerBase.cxx.

723 {
724
725 // Guard against multi-threaded execution:
726 guard_t guard( m_mutex );
727
728 // All the variables handled by the internal store are dynamic
729 // if such a store exists:
730 if( m_storeIO ) {
731 // I mean, all the variables. Not just the ones reported as dynamic
732 // by the internal object. Because the internal object may be something
733 // that was put into this one in order to achieve data slimming.
734 return m_store->getAuxIDs();
735 }
736
737 // In case we don't use an internal store, there are no dynamic
738 // variables:
739 return auxid_set_t();
740 }

◆ getStore() [1/2]

const SG::IAuxStore * xAOD::AuxContainerBase::getStore ( ) const
overridevirtualinherited

Implements SG::IAuxStoreHolder.

Definition at line 183 of file AuxContainerBase.cxx.

184 {
185 return m_store;
186 }

◆ getStore() [2/2]

SG::IAuxStore * xAOD::AuxContainerBase::getStore ( )
overridevirtualinherited

Get the currently used internal store object.

Implements SG::IAuxStoreHolder.

Definition at line 156 of file AuxContainerBase.cxx.

157 {
158 return m_store;
159 }

◆ getStoreType()

virtual AuxStoreType xAOD::AuxContainerBase::getStoreType ( ) const
inlineoverridevirtualinherited

Return the type of the store object.

Implements SG::IAuxStoreHolder.

Definition at line 88 of file AuxContainerBase.h.

88{ return AST_ContainerStore; }

◆ getVector()

const SG::IAuxTypeVector * xAOD::AuxContainerBase::getVector ( SG::auxid_t auxid) const
finaloverridevirtualinherited

Return vector interface for one aux data item.

Implements SG::IConstAuxStore.

Definition at line 241 of file AuxContainerBase.cxx.

241 {
242
243 // Guard against multi-threaded execution:
244 guard_t guard( m_mutex );
245
246 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
247 if( m_store ) {
248 const SG::IAuxTypeVector* result = m_store->getVector( auxid );
249 if( result ) {
250 auxid_set_t& auxids_nc ATLAS_THREAD_SAFE =
251 const_cast<auxid_set_t&> (m_auxids);
252 auxids_nc.insert( auxid );
253 const SG::AuxTypeRegistry& r = SG::AuxTypeRegistry::instance();
254 auxid_t linked_id = r.linkedVariable( auxid );
255 if (linked_id != SG::null_auxid) {
256 auxids_nc.insert( linked_id );
257 }
258 }
259 return result;
260 } else {
261 std::cout << "ERROR xAOD::AuxContainerBase::getData "
262 << "Unknown variable ("
264 << ") requested" << std::endl;
265 return nullptr;
266 }
267 }
268
269 // Update the statistics for this variable. The dynamic store registers
270 // its own variable accesses.
272
273 return m_vecs[ auxid ];
274 }
CxxUtils::CachedPointer< std::pmr::memory_resource > m_memResource ATLAS_THREAD_SAFE
Memory resource to use for this container.

◆ getWritableAuxIDs()

const AuxContainerBase::auxid_set_t & xAOD::AuxContainerBase::getWritableAuxIDs ( ) const
overridevirtualinherited

Return a set of writable data identifiers.

Implements SG::IAuxStore.

Definition at line 500 of file AuxContainerBase.cxx.

500 {
501
502 // Return the full list of known IDs. The constness of this object's
503 // members comes from the object being const or not.
504 return m_auxids;
505 }

◆ insertMove() [1/2]

virtual bool SG::IAuxStore::insertMove ( size_t pos,
IAuxStore & other,
const SG::auxid_set_t & ignore = SG::auxid_set_t() )
pure virtualinherited

Move all elements from other to this store.

Parameters
posThe starting index of the insertion.
otherStore from which to do the move.
ignoreSet of variables that should not be added to the store.

Let len be the size of other. The store will be increased in size by len elements, with the elements at pos being copied to pos+len. Then, for each auxiliary variable, the entire contents of that variable for other will be moved to this store at index pos. This will be done via move semantics if possible; otherwise, it will be done with a copy. Variables present in this store but not in other will have the corresponding elements default-initialized. Variables in other but not in this store will be added unless they are in ignore.

Returns true if it is known that none of the vectors' memory moved, false otherwise.

Implemented in SG::AuxStoreInternal.

◆ insertMove() [2/2]

bool xAOD::AuxContainerBase::insertMove ( size_t pos,
IAuxStore & other,
const SG::auxid_set_t & ignore )
overridevirtualinherited

Insert contents of another store via move.

Definition at line 586 of file AuxContainerBase.cxx.

588 {
589 // Guard against multi-threaded execution:
590 guard_t guard( m_mutex );
591
592 // This operation is not allowed on a locked container:
593 if( m_locked ) {
594 throw SG::ExcStoreLocked( "insertMove" );
595 }
596
597 bool nomove = true;
598 size_t other_size = other.size();
599
600 SG::auxid_set_t ignore = ignore_in;
601
602 // Do the operation on the static variables:
603 for (SG::auxid_t id : m_auxids) {
604 SG::IAuxTypeVector* v_dst = nullptr;
605 if (id < m_vecs.size())
606 v_dst = m_vecs[id];
607 // Skip linked vars --- they should be taken care of by the parent var.
608 if (v_dst && !v_dst->isLinked()) {
609 ignore.insert (id);
610 if (other.getData (id)) {
611 void* src_ptr = other.getData (id, other_size, other_size);
612 if (src_ptr) {
613 if (!v_dst->insertMove (pos, src_ptr, 0, other_size,
614 other))
615 nomove = false;
616 }
617 }
618 else {
619 const void* orig = v_dst->toPtr();
620 v_dst->shift (pos, other_size);
621 if (orig != v_dst->toPtr())
622 nomove = false;
623 }
624 }
625 }
626
627 // Do the operation on the dynamic variables:
628 if( m_store ) {
629 if (!m_store->insertMove( pos, other, ignore ))
630 nomove = false;
631
632 // Notice any new variables added as a result of this.
633 m_auxids.insert (m_store->getAuxIDs());
634 }
635
636 return nomove;
637 }
bool isLinked() const
Return true if this variable is linked from another one.
virtual void * toPtr()=0
Return a pointer to the start of the vector's data.
virtual bool insertMove(size_t pos, void *src, size_t src_pos, size_t src_n, IAuxStore &srcStore)=0
Insert elements into the vector via move semantics.
virtual bool shift(size_t pos, ptrdiff_t offs)=0
Shift the elements of the vector.
size_t auxid_t
Identifier for a particular aux data item.
Definition AuxTypes.h:27

◆ isDecoration()

bool xAOD::AuxContainerBase::isDecoration ( auxid_t auxid) const
overridevirtualinherited

Test if a variable is a decoration.

Implements SG::IConstAuxStore.

Reimplemented in xAOD::EventInfoAuxContainer_v1.

Definition at line 293 of file AuxContainerBase.cxx.

294 {
295 guard_t guard( m_mutex );
296 if (m_store) {
297 return m_store->isDecoration (auxid);
298 }
299 return false;
300 }

◆ linkedVector() [1/2]

const SG::IAuxTypeVector * xAOD::AuxContainerBase::linkedVector ( SG::auxid_t auxid) const
overridevirtualinherited

Return interface for a linked variable.

Reimplemented from SG::IConstAuxStore.

Definition at line 398 of file AuxContainerBase.cxx.

399 {
400 const SG::AuxTypeRegistry& r = SG::AuxTypeRegistry::instance();
401 auxid_t linked_id = r.linkedVariable( auxid );
402 if (linked_id != SG::null_auxid) {
403 guard_t guard( m_mutex );
404 if (linked_id < m_vecs.size() && m_vecs[ linked_id ]) {
405 return m_vecs[ linked_id ];
406 }
407 if (m_store) {
408 return CxxUtils::as_const_ptr(m_store)->linkedVector( auxid );
409 }
410 }
411 return nullptr;
412 }
const T * as_const_ptr(const T *p)
Helper for getting a const version of a pointer.

◆ linkedVector() [2/2]

SG::IAuxTypeVector * xAOD::AuxContainerBase::linkedVector ( SG::auxid_t auxid)
overridevirtualinherited

Return interface for a linked variable.

Reimplemented from SG::IAuxStore.

Definition at line 415 of file AuxContainerBase.cxx.

416 {
417 const SG::AuxTypeRegistry& r = SG::AuxTypeRegistry::instance();
418 auxid_t linked_id = r.linkedVariable( auxid );
419 if (linked_id != SG::null_auxid) {
420 guard_t guard( m_mutex );
421 if (linked_id < m_vecs.size() && m_vecs[ linked_id ]) {
422 return m_vecs[ linked_id ];
423 }
424 if (m_store) {
425 return m_store->linkedVector( auxid );
426 }
427 }
428 return nullptr;
429 }

◆ lock()

void xAOD::AuxContainerBase::lock ( )
overridevirtualinherited

Lock the container.

Implements SG::IConstAuxStore.

Definition at line 345 of file AuxContainerBase.cxx.

345 {
346
347 // Guard against multi-threaded execution:
348 guard_t guard( m_mutex );
349
350 // Lock the object and its dynamic store:
351 m_locked = true;
352 if( m_store ) {
353 m_store->lock();
354 }
355
356 return;
357 }

◆ lockDecoration()

void xAOD::AuxContainerBase::lockDecoration ( SG::auxid_t auxid)
overridevirtualinherited

Lock a decoration.

Implements SG::IConstAuxStore.

Reimplemented in xAOD::EventInfoAuxContainer_v1.

Definition at line 389 of file AuxContainerBase.cxx.

390 {
391 guard_t guard (m_mutex);
392 if (m_store) {
393 m_store->lockDecoration (auxid);
394 }
395 }

◆ memResource()

std::pmr::memory_resource * xAOD::AuxContainerBase::memResource ( )
inherited

Return the memory resource to use.

Definition at line 161 of file AuxContainerBase.cxx.

162 {
163 const std::pmr::memory_resource* cptr = m_memResource.get();
164 std::pmr::memory_resource* ptr ATLAS_THREAD_SAFE = const_cast<std::pmr::memory_resource*>( cptr );
165 if( !ptr ) {
166#ifndef XAOD_STANDALONE
167 const EventContext& ctx = Gaudi::Hive::currentContext();
168 if( Atlas::hasExtendedEventContext( ctx ) ) {
169 ptr = Atlas::getExtendedEventContext( ctx ).memResource();
170 }
171 if( !ptr )
172#endif
173 {
174 ptr = std::pmr::get_default_resource();
175 }
176 if( ptr ) {
177 m_memResource.set( ptr );
178 }
179 }
180 return ptr;
181 }
const ExtendedEventContext & getExtendedEventContext(const EventContext &ctx)
Retrieve an extended context from a context object.
bool hasExtendedEventContext(const EventContext &ctx)
Test whether a context object has an extended context installed.
void * ptr(T *p)
Definition SGImplSvc.cxx:74

◆ name()

const char * xAOD::AuxContainerBase::name ( ) const
inherited

Get the name of the container instance.

Definition at line 745 of file AuxContainerBase.cxx.

745 {
746
747 return m_name.c_str();
748 }

◆ regAuxVar() [1/2]

template<typename T>
void xAOD::AuxContainerBase::regAuxVar ( auxid_t auxid,
const std::string & name,
SG::PackedContainer< T > & vec )
inherited

Register one of the persistent variables internally.

◆ regAuxVar() [2/2]

template<typename T, typename ALLOC>
void xAOD::AuxContainerBase::regAuxVar ( auxid_t auxid,
const std::string & name,
std::vector< T, ALLOC > & vec )
inherited

Register one of the persistent variables internally.

◆ regAuxVar1()

template<typename ELT, typename CONT>
void xAOD::AuxContainerBase::regAuxVar1 ( auxid_t auxid,
const std::string & name,
CONT & vec )
privateinherited

Common code between regAuxVar cases.

◆ reserve()

void xAOD::AuxContainerBase::reserve ( size_t size)
overridevirtualinherited

Reserve a given size for the arrays.

Implements SG::IAuxStore.

Definition at line 535 of file AuxContainerBase.cxx.

535 {
536
537 // Guard against multi-threaded execution:
538 guard_t guard( m_mutex );
539
540 // This operation is not allowed on a locked container:
541 if( m_locked ) {
542 throw SG::ExcStoreLocked( "reserve" );
543 }
544
545 // Do the operation on the static variables:
546 for (SG::IAuxTypeVector* v : m_vecs) {
547 if(v && !v->isLinked()) {
548 v->reserve( size );
549 }
550 }
551
552 // Do the operation on the dynamic variables:
553 if( m_store ) {
554 m_store->reserve( size );
555 }
556
557 return;
558 }

◆ resize()

bool xAOD::AuxContainerBase::resize ( size_t size)
overridevirtualinherited

Resize the arrays to a given size.

Implements SG::IAuxStore.

Definition at line 507 of file AuxContainerBase.cxx.

507 {
508
509 // Guard against multi-threaded execution:
510 guard_t guard( m_mutex );
511
512 // This operation is not allowed on a locked container:
513 if( m_locked ) {
514 throw SG::ExcStoreLocked( "resize" );
515 }
516
517 // Do the operation on the static variables:
518 bool nomoves = true;
519 for (SG::IAuxTypeVector* v : m_vecs) {
520 if(v && !v->isLinked()) {
521 if (!v->resize( size ))
522 nomoves = false;
523 }
524 }
525
526 // Do the operation on the dynamic variables:
527 if( m_store ) {
528 if (!m_store->resize( size ))
529 nomoves = false;
530 }
531
532 return nomoves;
533 }

◆ setName()

void xAOD::AuxContainerBase::setName ( const char * name)
inherited

Set the name of the container instance.

Definition at line 750 of file AuxContainerBase.cxx.

750 {
751
752 m_name = name;
753 return;
754 }
const char * name() const
Get the name of the container instance.

◆ setOption()

bool xAOD::AuxContainerBase::setOption ( auxid_t id,
const SG::AuxDataOption & option )
overridevirtualinherited

Make an option setting on an aux variable.

Reimplemented from SG::IAuxStore.

Definition at line 640 of file AuxContainerBase.cxx.

641 {
642
643 guard_t guard (m_mutex);
644 if (id < m_vecs.size() && m_vecs[id] != nullptr)
645 return m_vecs[id]->setOption (option);
646
647 if (m_store)
648 return m_store->setOption (id, option);
649 return false;
650 }

◆ setStore()

void xAOD::AuxContainerBase::setStore ( SG::IAuxStore * store)
overridevirtualinherited

Set a different internal store object.

This function is used by the I/O infrastructure to possibly put a store object into this one, which can interact with dynamic variables directly.

Note that the object takes ownership of the received store.

Parameters
storeThe store that should be used for dynamic variable handling inside the object from now on

Implements SG::IAuxStoreHolder.

Definition at line 197 of file AuxContainerBase.cxx.

197 {
198
199 // Guard against multi-threaded execution:
200 guard_t guard( m_mutex );
201
202 // Check that no funny business is going on:
203 if( m_store == store ) return;
204
205 // Clean up the current store object:
206 if( m_store && m_ownsStore ) {
207 m_auxids -= m_store->getAuxIDs();
208 delete m_store;
209 }
210 m_store = nullptr;
211 m_storeIO = nullptr;
212
213 // Take posession of the new object:
214 m_store = store;
215 m_storeIO = dynamic_cast< SG::IAuxStoreIO* >( m_store );
216 m_ownsStore = true;
217 if( m_store ) {
218 m_auxids.insert (m_store->getAuxIDs());
219 }
220
221 return;
222 }
bool m_ownsStore
Flag deciding if the object owns the dynamic store or not.
TestStore store
Definition TestStore.cxx:23

◆ shift()

void xAOD::AuxContainerBase::shift ( size_t pos,
ptrdiff_t offs )
overridevirtualinherited

Shift the contents of the stored arrays.

Implements SG::IAuxStore.

Definition at line 560 of file AuxContainerBase.cxx.

560 {
561
562 // Guard against multi-threaded execution:
563 guard_t guard( m_mutex );
564
565 // This operation is not allowed on a locked container:
566 if( m_locked ) {
567 throw SG::ExcStoreLocked( "shift" );
568 }
569
570 // Do the operation on the static variables:
571 for (SG::IAuxTypeVector* v : m_vecs) {
572 if(v && !v->isLinked()) {
573 v->shift( pos, offs );
574 }
575 }
576
577 // Do the operation on the dynamic variables:
578 if( m_store ) {
579 m_store->shift( pos, offs );
580 }
581
582 return;
583 }

◆ size()

size_t xAOD::AuxContainerBase::size ( ) const
overridevirtualinherited

Get the size of the container.

Implements SG::IConstAuxStore.

Definition at line 432 of file AuxContainerBase.cxx.

432 {
433
434 // Guard against multi-threaded execution:
435 guard_t guard (m_mutex);
436
437 // Try to find a variable:
438 for (SG::auxid_t i : m_auxids) {
439 if( ( i < m_vecs.size() ) && m_vecs[ i ] && !m_vecs[ i ]->isLinked()) {
440 size_t sz = m_vecs[ i ]->size();
441 if( sz > 0 ) {
442 return sz;
443 }
444 }
445 }
446
447 // If we didn't find any, let's ask the dynamic store:
448 if( m_store ) {
449 return m_store->size();
450 }
451
452 // If we don't have any variables, then the size must be null:
453 return 0;
454 }
static Double_t sz

Member Data Documentation

◆ allAuthors

std::vector< uint16_t > xAOD::MuonAuxContainer_v3::allAuthors
private

Definition at line 48 of file MuonAuxContainer_v3.h.

◆ annBarrel

std::vector< float> xAOD::MuonAuxContainer_v3::annBarrel
private

Definition at line 144 of file MuonAuxContainer_v3.h.

◆ annEndCap

std::vector< float> xAOD::MuonAuxContainer_v3::annEndCap
private

Definition at line 145 of file MuonAuxContainer_v3.h.

◆ ATLAS_THREAD_SAFE

CxxUtils::CachedPointer<std::pmr::memory_resource> m_memResource xAOD::AuxContainerBase::ATLAS_THREAD_SAFE
mutableprivateinherited

Memory resource to use for this container.

Definition at line 250 of file AuxContainerBase.h.

◆ author

std::vector< uint16_t> xAOD::MuonAuxContainer_v3::author
private

Definition at line 49 of file MuonAuxContainer_v3.h.

◆ beta

std::vector< float> xAOD::MuonAuxContainer_v3::beta
private

Definition at line 143 of file MuonAuxContainer_v3.h.

◆ CaloLRLikelihood

std::vector< float> xAOD::MuonAuxContainer_v3::CaloLRLikelihood
private

Definition at line 150 of file MuonAuxContainer_v3.h.

◆ CaloMuonIDTag

std::vector< int > xAOD::MuonAuxContainer_v3::CaloMuonIDTag
private

Definition at line 160 of file MuonAuxContainer_v3.h.

◆ charge

std::vector< float > xAOD::MuonAuxContainer_v3::charge
private

Definition at line 43 of file MuonAuxContainer_v3.h.

◆ clusterLink

std::vector<ElementLink< CaloClusterContainer > > xAOD::MuonAuxContainer_v3::clusterLink
private

Definition at line 124 of file MuonAuxContainer_v3.h.

◆ combinedTrackParticleLink

std::vector<ElementLink< TrackParticleContainer > > xAOD::MuonAuxContainer_v3::combinedTrackParticleLink
private

Definition at line 123 of file MuonAuxContainer_v3.h.

◆ d0_sa

std::vector< float> xAOD::MuonAuxContainer_v3::d0_sa
private

Definition at line 161 of file MuonAuxContainer_v3.h.

◆ Eloss_sa

std::vector< float> xAOD::MuonAuxContainer_v3::Eloss_sa
private

Definition at line 166 of file MuonAuxContainer_v3.h.

◆ EnergyLoss

std::vector< float> xAOD::MuonAuxContainer_v3::EnergyLoss
private

Definition at line 151 of file MuonAuxContainer_v3.h.

◆ EnergyLossSigma

std::vector< float> xAOD::MuonAuxContainer_v3::EnergyLossSigma
private

Definition at line 154 of file MuonAuxContainer_v3.h.

◆ energyLossType

std::vector< uint8_t> xAOD::MuonAuxContainer_v3::energyLossType
private

Definition at line 130 of file MuonAuxContainer_v3.h.

◆ eta

std::vector< float > xAOD::MuonAuxContainer_v3::eta
private

Definition at line 41 of file MuonAuxContainer_v3.h.

◆ etaLayer1Hits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::etaLayer1Hits
private

Definition at line 89 of file MuonAuxContainer_v3.h.

◆ etaLayer1Holes

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::etaLayer1Holes
private

Definition at line 99 of file MuonAuxContainer_v3.h.

◆ etaLayer2Hits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::etaLayer2Hits
private

Definition at line 90 of file MuonAuxContainer_v3.h.

◆ etaLayer2Holes

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::etaLayer2Holes
private

Definition at line 100 of file MuonAuxContainer_v3.h.

◆ etaLayer3Hits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::etaLayer3Hits
private

Definition at line 91 of file MuonAuxContainer_v3.h.

◆ etaLayer3Holes

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::etaLayer3Holes
private

Definition at line 101 of file MuonAuxContainer_v3.h.

◆ etaLayer4Hits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::etaLayer4Hits
private

Definition at line 92 of file MuonAuxContainer_v3.h.

◆ etaLayer4Holes

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::etaLayer4Holes
private

Definition at line 102 of file MuonAuxContainer_v3.h.

◆ etcone20

std::vector< float > xAOD::MuonAuxContainer_v3::etcone20
private

Definition at line 107 of file MuonAuxContainer_v3.h.

◆ etcone30

std::vector< float > xAOD::MuonAuxContainer_v3::etcone30
private

Definition at line 108 of file MuonAuxContainer_v3.h.

◆ etcone40

std::vector< float > xAOD::MuonAuxContainer_v3::etcone40
private

Definition at line 109 of file MuonAuxContainer_v3.h.

◆ extendedLargeHits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::extendedLargeHits
private

Definition at line 73 of file MuonAuxContainer_v3.h.

◆ extendedLargeHoles

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::extendedLargeHoles
private

Definition at line 82 of file MuonAuxContainer_v3.h.

◆ extendedSmallHits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::extendedSmallHits
private

Definition at line 72 of file MuonAuxContainer_v3.h.

◆ extendedSmallHoles

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::extendedSmallHoles
private

Definition at line 81 of file MuonAuxContainer_v3.h.

◆ extrapolatedMuonSpectrometerTrackParticleLink

std::vector<ElementLink< TrackParticleContainer > > xAOD::MuonAuxContainer_v3::extrapolatedMuonSpectrometerTrackParticleLink
private

Definition at line 122 of file MuonAuxContainer_v3.h.

◆ inDetTrackParticleLink

std::vector<ElementLink< TrackParticleContainer > > xAOD::MuonAuxContainer_v3::inDetTrackParticleLink
private

Definition at line 120 of file MuonAuxContainer_v3.h.

◆ innAngle

std::vector< float> xAOD::MuonAuxContainer_v3::innAngle
private

Definition at line 146 of file MuonAuxContainer_v3.h.

◆ innerLargeHits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::innerLargeHits
private

Definition at line 67 of file MuonAuxContainer_v3.h.

◆ innerLargeHoles

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::innerLargeHoles
private

Definition at line 76 of file MuonAuxContainer_v3.h.

◆ innerSmallHits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::innerSmallHits
private

Definition at line 66 of file MuonAuxContainer_v3.h.

◆ innerSmallHoles

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::innerSmallHoles
private

Definition at line 75 of file MuonAuxContainer_v3.h.

◆ m_auxids

auxid_set_t xAOD::AuxContainerBase::m_auxids
privateinherited

Internal list of all available variables.

Definition at line 228 of file AuxContainerBase.h.

◆ m_locked

bool xAOD::AuxContainerBase::m_locked
privateinherited

Has the container been locked?

Definition at line 239 of file AuxContainerBase.h.

◆ m_mutex

mutex_t xAOD::AuxContainerBase::m_mutex
mutableprivateinherited

Definition at line 244 of file AuxContainerBase.h.

◆ m_name

std::string xAOD::AuxContainerBase::m_name
privateinherited

Name of the container in memory. Set externally.

Definition at line 247 of file AuxContainerBase.h.

◆ m_ownsStore

bool xAOD::AuxContainerBase::m_ownsStore
privateinherited

Flag deciding if the object owns the dynamic store or not.

Definition at line 237 of file AuxContainerBase.h.

◆ m_store

SG::IAuxStore* xAOD::AuxContainerBase::m_store
privateinherited

Internal dynamic auxiliary store object.

Definition at line 233 of file AuxContainerBase.h.

◆ m_storeIO

SG::IAuxStoreIO* xAOD::AuxContainerBase::m_storeIO
privateinherited

The IO interface to the internal auxiliary store.

Definition at line 235 of file AuxContainerBase.h.

◆ m_vecs

std::vector< SG::IAuxTypeVector* > xAOD::AuxContainerBase::m_vecs
privateinherited

Internal list of all managed variables.

Definition at line 230 of file AuxContainerBase.h.

◆ meanDeltaADCCountsMDT

std::vector< float> xAOD::MuonAuxContainer_v3::meanDeltaADCCountsMDT
private

Definition at line 149 of file MuonAuxContainer_v3.h.

◆ MeasEnergyLoss

std::vector< float> xAOD::MuonAuxContainer_v3::MeasEnergyLoss
private

Definition at line 153 of file MuonAuxContainer_v3.h.

◆ MeasEnergyLossSigma

std::vector< float> xAOD::MuonAuxContainer_v3::MeasEnergyLossSigma
private

Definition at line 157 of file MuonAuxContainer_v3.h.

◆ midAngle

std::vector< float> xAOD::MuonAuxContainer_v3::midAngle
private

Definition at line 147 of file MuonAuxContainer_v3.h.

◆ middleLargeHits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::middleLargeHits
private

Definition at line 69 of file MuonAuxContainer_v3.h.

◆ middleLargeHoles

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::middleLargeHoles
private

Definition at line 78 of file MuonAuxContainer_v3.h.

◆ middleSmallHits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::middleSmallHits
private

Definition at line 68 of file MuonAuxContainer_v3.h.

◆ middleSmallHoles

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::middleSmallHoles
private

Definition at line 77 of file MuonAuxContainer_v3.h.

◆ momentumBalanceSignificance

std::vector< float> xAOD::MuonAuxContainer_v3::momentumBalanceSignificance
private

Definition at line 138 of file MuonAuxContainer_v3.h.

◆ msInnerMatchChi2

std::vector< float> xAOD::MuonAuxContainer_v3::msInnerMatchChi2
private

Definition at line 148 of file MuonAuxContainer_v3.h.

◆ msInnerMatchDOF

std::vector< int > xAOD::MuonAuxContainer_v3::msInnerMatchDOF
private

Definition at line 158 of file MuonAuxContainer_v3.h.

◆ msOuterMatchDOF

std::vector< int > xAOD::MuonAuxContainer_v3::msOuterMatchDOF
private

Definition at line 159 of file MuonAuxContainer_v3.h.

◆ muonSegmentLinks

std::vector<std::vector<ElementLink< MuonSegmentContainer > > > xAOD::MuonAuxContainer_v3::muonSegmentLinks
private

Definition at line 125 of file MuonAuxContainer_v3.h.

◆ muonSpectrometerTrackParticleLink

std::vector<ElementLink< TrackParticleContainer > > xAOD::MuonAuxContainer_v3::muonSpectrometerTrackParticleLink
private

Definition at line 121 of file MuonAuxContainer_v3.h.

◆ muonType

std::vector< uint16_t> xAOD::MuonAuxContainer_v3::muonType
private

Definition at line 50 of file MuonAuxContainer_v3.h.

◆ numberOfPhiHoleLayers

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::numberOfPhiHoleLayers
private

Definition at line 60 of file MuonAuxContainer_v3.h.

◆ numberOfPhiLayers

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::numberOfPhiLayers
private

Definition at line 59 of file MuonAuxContainer_v3.h.

◆ numberOfPrecisionHoleLayers

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::numberOfPrecisionHoleLayers
private

Definition at line 58 of file MuonAuxContainer_v3.h.

◆ numberOfPrecisionLayers

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::numberOfPrecisionLayers
private

Definition at line 57 of file MuonAuxContainer_v3.h.

◆ numberOfTriggerEtaHoleLayers

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::numberOfTriggerEtaHoleLayers
private

Definition at line 62 of file MuonAuxContainer_v3.h.

◆ numberOfTriggerEtaLayers

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::numberOfTriggerEtaLayers
private

Definition at line 61 of file MuonAuxContainer_v3.h.

◆ outerLargeHits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::outerLargeHits
private

Definition at line 71 of file MuonAuxContainer_v3.h.

◆ outerLargeHoles

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::outerLargeHoles
private

Definition at line 80 of file MuonAuxContainer_v3.h.

◆ outerSmallHits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::outerSmallHits
private

Definition at line 70 of file MuonAuxContainer_v3.h.

◆ outerSmallHoles

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::outerSmallHoles
private

Definition at line 79 of file MuonAuxContainer_v3.h.

◆ ParamEnergyLoss

std::vector< float> xAOD::MuonAuxContainer_v3::ParamEnergyLoss
private

Definition at line 152 of file MuonAuxContainer_v3.h.

◆ ParamEnergyLossSigmaMinus

std::vector< float> xAOD::MuonAuxContainer_v3::ParamEnergyLossSigmaMinus
private

Definition at line 156 of file MuonAuxContainer_v3.h.

◆ ParamEnergyLossSigmaPlus

std::vector< float> xAOD::MuonAuxContainer_v3::ParamEnergyLossSigmaPlus
private

Definition at line 155 of file MuonAuxContainer_v3.h.

◆ phi

std::vector< float > xAOD::MuonAuxContainer_v3::phi
private

Definition at line 42 of file MuonAuxContainer_v3.h.

◆ phi0_sa

std::vector< float> xAOD::MuonAuxContainer_v3::phi0_sa
private

Definition at line 163 of file MuonAuxContainer_v3.h.

◆ phiLayer1Hits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::phiLayer1Hits
private

Definition at line 84 of file MuonAuxContainer_v3.h.

◆ phiLayer1Holes

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::phiLayer1Holes
private

Definition at line 94 of file MuonAuxContainer_v3.h.

◆ phiLayer2Hits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::phiLayer2Hits
private

Definition at line 85 of file MuonAuxContainer_v3.h.

◆ phiLayer2Holes

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::phiLayer2Holes
private

Definition at line 95 of file MuonAuxContainer_v3.h.

◆ phiLayer3Hits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::phiLayer3Hits
private

Definition at line 86 of file MuonAuxContainer_v3.h.

◆ phiLayer3Holes

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::phiLayer3Holes
private

Definition at line 96 of file MuonAuxContainer_v3.h.

◆ phiLayer4Hits

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::phiLayer4Hits
private

Definition at line 87 of file MuonAuxContainer_v3.h.

◆ phiLayer4Holes

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::phiLayer4Holes
private

Definition at line 97 of file MuonAuxContainer_v3.h.

◆ primarySector

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::primarySector
private

Definition at line 63 of file MuonAuxContainer_v3.h.

◆ pt

std::vector< float > xAOD::MuonAuxContainer_v3::pt
private

Definition at line 40 of file MuonAuxContainer_v3.h.

◆ ptcone20

std::vector< float > xAOD::MuonAuxContainer_v3::ptcone20
private

Definition at line 110 of file MuonAuxContainer_v3.h.

◆ ptcone30

std::vector< float > xAOD::MuonAuxContainer_v3::ptcone30
private

Definition at line 111 of file MuonAuxContainer_v3.h.

◆ ptcone40

std::vector< float > xAOD::MuonAuxContainer_v3::ptcone40
private

Definition at line 112 of file MuonAuxContainer_v3.h.

◆ ptvarcone20

std::vector< float > xAOD::MuonAuxContainer_v3::ptvarcone20
private

Definition at line 113 of file MuonAuxContainer_v3.h.

◆ ptvarcone30

std::vector< float > xAOD::MuonAuxContainer_v3::ptvarcone30
private

Definition at line 114 of file MuonAuxContainer_v3.h.

◆ ptvarcone40

std::vector< float > xAOD::MuonAuxContainer_v3::ptvarcone40
private

Definition at line 115 of file MuonAuxContainer_v3.h.

◆ qOverP_sa

std::vector< float> xAOD::MuonAuxContainer_v3::qOverP_sa
private

Definition at line 165 of file MuonAuxContainer_v3.h.

◆ quality

std::vector< uint8_t> xAOD::MuonAuxContainer_v3::quality
private

Definition at line 51 of file MuonAuxContainer_v3.h.

◆ scatteringCurvatureSignificance

std::vector< float> xAOD::MuonAuxContainer_v3::scatteringCurvatureSignificance
private

Definition at line 136 of file MuonAuxContainer_v3.h.

◆ scatteringNeighbourSignificance

std::vector< float> xAOD::MuonAuxContainer_v3::scatteringNeighbourSignificance
private

Definition at line 137 of file MuonAuxContainer_v3.h.

◆ secondarySector

std::vector< uint8_t > xAOD::MuonAuxContainer_v3::secondarySector
private

Definition at line 64 of file MuonAuxContainer_v3.h.

◆ segmentChi2OverDoF

std::vector< float> xAOD::MuonAuxContainer_v3::segmentChi2OverDoF
private

Definition at line 141 of file MuonAuxContainer_v3.h.

◆ segmentDeltaEta

std::vector< float> xAOD::MuonAuxContainer_v3::segmentDeltaEta
private

Definition at line 139 of file MuonAuxContainer_v3.h.

◆ segmentDeltaPhi

std::vector< float> xAOD::MuonAuxContainer_v3::segmentDeltaPhi
private

Definition at line 140 of file MuonAuxContainer_v3.h.

◆ spectrometerFieldIntegral

std::vector< float> xAOD::MuonAuxContainer_v3::spectrometerFieldIntegral
private

Definition at line 135 of file MuonAuxContainer_v3.h.

◆ supportsThinning

bool SG::IAuxStore::supportsThinning = true
staticconstexprinherited

Mark that this type supports thinning operations.

See AthContainers/supportsThinning.h and AthenaPoolCnvSvc/T_AthenaPoolCnv.h. Helps guide which pool converter template will be used. If false, the default pool converter will be used rather than the aux store-specific one. Ordinary xAOD type should not touch this, but may be overridden in a derived class to handle certain special cases.

Definition at line 199 of file IAuxStore.h.

◆ t0

std::vector< float> xAOD::MuonAuxContainer_v3::t0
private

Definition at line 142 of file MuonAuxContainer_v3.h.

◆ theta_sa

std::vector< float> xAOD::MuonAuxContainer_v3::theta_sa
private

Definition at line 164 of file MuonAuxContainer_v3.h.

◆ z0_sa

std::vector< float> xAOD::MuonAuxContainer_v3::z0_sa
private

Definition at line 162 of file MuonAuxContainer_v3.h.


The documentation for this class was generated from the following files: