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

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

#include <TrackParticleAuxContainer_v4.h>

Inheritance diagram for xAOD::TrackParticleAuxContainer_v4:
Collaboration diagram for xAOD::TrackParticleAuxContainer_v4:

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

 TrackParticleAuxContainer_v4 ()
 Default constructor.
void dump () const
 Dumps contents (for debugging).
void toTransient ()
 Function implementing soft schema evolution for the class.
virtual void toTransient (const EventContext &ctx) override
 Perform processing on aux variable objects just after reading to make them usable as transient objects.
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 > &vecvec)
 Register one of the persistent variables internally.
template<typename T>
void regAuxVar (auxid_t auxid, const std::string &name, SG::PackedContainer< T > &vecvec)
 Register one of the persistent variables internally.
Functions implementing the SG::IAuxStoreHolder interface
virtual SG::IAuxStore * getStore () override
 Get the currently used internal store object.
virtual const SG::IAuxStore * getStore () 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::IAuxTypeVector * getVector (SG::auxid_t auxid) const override final
 Return vector interface for one aux data item.
virtual const auxid_set_t & getAuxIDs () const override
 Get the types(names) of variables handled by this container.
virtual const auxid_set_t & getDecorIDs () const override
 Get the types(names) of decorations handled by this container.
virtual SG::auxid_set_t getCopyIDs (bool warnUnlocked=false) const override
 Get the set of variables that we should deep copy.
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::IAuxTypeVector * linkedVector (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::IAuxTypeVector * linkedVector (SG::auxid_t auxid) override
 Return interface for a linked variable.
virtual const auxid_set_t & getWritableAuxIDs () 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_t & getDynamicAuxIDs () 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 char * name () 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_t > guard_t

Private Member Functions

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

Private Attributes

std::vector< float > radiusOfFirstHit
std::vector< uint64_t > identifierOfFirstHit
std::vector< float > beamlineTiltX
std::vector< float > beamlineTiltY
std::vector< uint32_t > hitPattern
std::vector< float > TRTTrackOccupancy
auxid_set_t m_auxids
 Internal list of all available variables.
std::vector< SG::IAuxTypeVector * > m_vecs
 Internal list of all managed variables.
SG::IAuxStore * m_store
 Internal dynamic auxiliary store object.
SG::IAuxStoreIO * m_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.
Defining parameters (perigee)
std::vector< float > d0
std::vector< float > z0
std::vector< float > phi
std::vector< float > theta
std::vector< float > qOverP
std::vector< std::vector< float > > definingParametersCovMatrix
std::vector< float > vx
std::vector< float > vy
std::vector< float > vz
Fit quality functions
std::vector< float > chiSquared
std::vector< float > numberDoF
TrackInfo functions
std::vector< uint8_t > trackFitter
std::vector< uint8_t > particleHypothesis
std::vector< uint8_t > trackProperties
std::vector< uint64_t > patternRecoInfo
TrackSummary information
std::vector< uint8_t > numberOfContribPixelLayers
std::vector< uint8_t > numberOfInnermostPixelLayerHits
std::vector< uint8_t > numberOfInnermostPixelLayerOutliers
std::vector< uint8_t > numberOfInnermostPixelLayerSharedHits
std::vector< uint8_t > numberOfInnermostPixelLayerSplitHits
std::vector< uint8_t > expectInnermostPixelLayerHit
std::vector< uint8_t > numberOfNextToInnermostPixelLayerHits
std::vector< uint8_t > numberOfNextToInnermostPixelLayerOutliers
std::vector< uint8_t > numberOfNextToInnermostPixelLayerSharedHits
std::vector< uint8_t > numberOfNextToInnermostPixelLayerSplitHits
std::vector< uint8_t > expectNextToInnermostPixelLayerHit
std::vector< uint8_t > numberOfPixelHits
std::vector< uint8_t > numberOfPixelOutliers
std::vector< uint8_t > numberOfPixelHoles
std::vector< uint8_t > numberOfPixelSharedHits
std::vector< uint8_t > numberOfPixelSplitHits
std::vector< uint8_t > numberOfGangedPixels
std::vector< uint8_t > numberOfGangedFlaggedFakes
std::vector< uint8_t > numberOfPixelDeadSensors
std::vector< uint8_t > numberOfPixelSpoiltHits
std::vector< uint8_t > numberOfDBMHits
std::vector< uint8_t > numberOfSCTHits
std::vector< uint8_t > numberOfSCTOutliers
std::vector< uint8_t > numberOfSCTHoles
std::vector< uint8_t > numberOfSCTDoubleHoles
std::vector< uint8_t > numberOfSCTSharedHits
std::vector< uint8_t > numberOfSCTDeadSensors
std::vector< uint8_t > numberOfSCTSpoiltHits
std::vector< uint8_t > numberOfTRTHits
std::vector< uint8_t > numberOfTRTOutliers
std::vector< uint8_t > numberOfTRTHoles
std::vector< uint8_t > numberOfTRTHighThresholdHits
std::vector< uint8_t > numberOfTRTHighThresholdHitsTotal
std::vector< uint8_t > numberOfTRTHighThresholdOutliers
std::vector< uint8_t > numberOfTRTDeadStraws
std::vector< uint8_t > numberOfTRTTubeHits
std::vector< uint8_t > numberOfTRTXenonHits
std::vector< uint8_t > numberOfTRTSharedHits
std::vector< uint8_t > numberOfPrecisionLayers
std::vector< uint8_t > numberOfPrecisionHoleLayers
std::vector< uint8_t > numberOfPhiLayers
std::vector< uint8_t > numberOfPhiHoleLayers
std::vector< uint8_t > numberOfTriggerEtaLayers
std::vector< uint8_t > numberOfTriggerEtaHoleLayers
std::vector< uint8_t > numberOfOutliersOnTrack
std::vector< uint8_t > standardDeviationOfChi2OS
std::vector< float > eProbabilityComb
std::vector< float > eProbabilityHT
std::vector< float > pixeldEdx
std::vector< uint8_t > numberOfUsedHitsdEdx
std::vector< uint8_t > numberOfIBLOverflowsdEdx

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 TrackParticle EDM. Will be exchanged for a generic auxiliary container type (AuxStoreInternal) later on.

Author
Edward Moyse

Definition at line 37 of file TrackParticleAuxContainer_v4.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 198 of file AuxContainerBase.h.

◆ guard_t

Definition at line 250 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 200 of file AuxContainerBase.h.

◆ mutex_t

Mutex for multithread synchronization.

Definition at line 249 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 68 of file IAuxStoreHolder.h.

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

Constructor & Destructor Documentation

◆ TrackParticleAuxContainer_v4()

xAOD::TrackParticleAuxContainer_v4::TrackParticleAuxContainer_v4 ( )

Default constructor.

Definition at line 11 of file TrackParticleAuxContainer_v4.cxx.

13
19
21
25
28
31
33
35
37
40
45
46 // TrackSummary information
47#ifndef XAODTRACKPARTICLE_SUMMARYDYNAMIC
48 // uint8_ts
93
96 // Floats
99 // AUX_VARIABLE( eProbabilityToT );
100 // AUX_VARIABLE( eProbabilityBrem );
102#endif
103
104 //Links
106
107 }
#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 > numberOfNextToInnermostPixelLayerOutliers
std::vector< std::vector< float > > definingParametersCovMatrix
std::vector< uint8_t > numberOfNextToInnermostPixelLayerSplitHits
std::vector< uint8_t > numberOfNextToInnermostPixelLayerSharedHits

Member Function Documentation

◆ clearDecorations()

bool xAOD::AuxContainerBase::clearDecorations ( )
overridevirtualinherited

Clear all decorations.

Definition at line 362 of file AuxContainerBase.cxx.

362 {
363
364 // Guard against multi-threaded execution:
365 guard_t guard( m_mutex );
366
367 // Clear the decorations from the dynamic store:
368 bool anycleared = false;
369 if( m_store ) {
370 anycleared = m_store->clearDecorations();
371 }
372 // Early exit if there were no decorations.
373 if (!anycleared) return false;
374
375 // Construct the list of managed auxiliary variables from scratch after
376 // the cleanup:
378 for( auxid_t auxid = 0; auxid < m_vecs.size(); ++auxid ) {
379 if( m_vecs[ auxid ] ) {
380 ids.insert( auxid );
381 }
382 }
383 if( m_store ) {
384 ids.insert (m_store->getAuxIDs());
385 }
386 m_auxids = std::move(ids);
387
388 return true;
389 }
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.
SG::auxid_t auxid() const
Return the aux id for this variable.

◆ dump()

void xAOD::TrackParticleAuxContainer_v4::dump ( ) const

Dumps contents (for debugging).

Definition at line 109 of file TrackParticleAuxContainer_v4.cxx.

109 {
110 std::cout<<" Dumping TrackParticleAuxContainer_v4"<<std::endl;
111 std::cout<<"d0:";
112 std::copy(d0.begin(), d0.end(),
113 std::ostream_iterator<float>(std::cout, ", "));
114 std::cout<<"z0:";
115 std::copy(z0.begin(), z0.end(),
116 std::ostream_iterator<float>(std::cout, ", "));
117 std::cout<<"phi:";
118 std::copy(phi.begin(), phi.end(),
119 std::ostream_iterator<float>(std::cout, ", "));
120 std::cout<<"theta:";
121 std::copy(theta.begin(), theta.end(),
122 std::ostream_iterator<float>(std::cout, ", "));
123 std::cout<<"qOverP:";
124 std::copy(qOverP.begin(), qOverP.end(),
125 std::ostream_iterator<float>(std::cout, ", "));
126 std::cout<<"definingParametersCovMatrix: ";
127 for (unsigned int i=0; i<definingParametersCovMatrix.size();++i){
129 std::ostream_iterator<float>(std::cout, ", "));
130 std::cout<<std::endl;
131 }
132 }

◆ 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.

Definition at line 276 of file AuxContainerBase.cxx.

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

◆ getCopyIDs()

SG::auxid_set_t xAOD::AuxContainerBase::getCopyIDs ( bool warnUnlocked = false) const
overridevirtualinherited

Get the set of variables that we should deep copy.

Definition at line 292 of file AuxContainerBase.cxx.

293 {
294 return SG::getCopyIDs (getAuxIDs(), getDecorIDs(), warnUnlocked, {});
295 }
virtual const auxid_set_t & getAuxIDs() const override
Get the types(names) of variables handled by this container.
virtual const auxid_set_t & getDecorIDs() const override
Get the types(names) of decorations handled by this container.
virtual SG::auxid_set_t getCopyIDs(bool warnUnlocked=false) const override
Return the set of variables to copy in a deep copy.

◆ getData() [1/2]

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

Get a pointer to a given array.

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 485 of file AuxContainerBase.cxx.

486 {
487
488 // Guard against multi-threaded execution:
489 guard_t guard( m_mutex );
490
491 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
492
493 if( m_store ) {
494 void* result = m_store->getData( auxid, size, capacity );
495 if( result ) {
496 m_auxids.insert( auxid );
497 const SG::AuxTypeRegistry& r = SG::AuxTypeRegistry::instance();
498 auxid_t linked_id = r.linkedVariable( auxid );
499 if (linked_id != SG::null_auxid) {
500 m_auxids.insert( linked_id );
501 }
502 }
503 return result;
504 } else {
505 std::println( "ERROR xAOD::AuxContainerBase::getData "
506 "Unknown variable ({}) requested",
508 return nullptr;
509 }
510 }
511 m_vecs[ auxid ]->reserve( capacity );
512 if (m_vecs[ auxid ]->size() < size) {
513 m_vecs[ auxid ]->resize( size );
514 }
515
516 return m_vecs[ auxid ]->toPtr();
517 }
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.

Reimplemented in xAOD::EventInfoAuxContainer_v1.

Definition at line 306 of file AuxContainerBase.cxx.

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

Definition at line 283 of file AuxContainerBase.cxx.

283 {
284
285 if( m_store ) {
286 return m_store->getDecorIDs();
287 }
288 static const auxid_set_t empty;
289 return empty;
290 }
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 722 of file AuxContainerBase.cxx.

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

681 {
682
683 // Guard against multi-threaded execution:
684 guard_t guard( m_mutex );
685
686 // If the variable is not static, look for it in the dynamic store:
687 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
688 if( m_storeIO ) {
689 return m_storeIO->getIOData( auxid );
690 } else {
691 std::println( "ERROR xAOD::AuxContainerBase::getIOData "
692 "Unknown variable ({}) requested",
694 return nullptr;
695 }
696 }
697
698 // Update the statistics for this variable. The dynamic store registers
699 // its own variable accesses.
701
702 return m_vecs[ auxid ]->toVector();
703 }
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 705 of file AuxContainerBase.cxx.

705 {
706
707 // Guard against multi-threaded execution:
708 guard_t guard( m_mutex );
709
710 // If the variable is not static, ask the dynamic store:
711 if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
712 if( m_storeIO ) {
713 return m_storeIO->getIOType( auxid );
714 }
715 }
716
717 // Fall back on getting the information from the registry:
719 }
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 742 of file AuxContainerBase.cxx.

742 {
743
744 // Guard against multi-threaded execution:
745 guard_t guard( m_mutex );
746
747 // All the variables handled by the internal store are dynamic
748 // if such a store exists:
749 if( m_storeIO && m_store) {
750 // I mean, all the variables. Not just the ones reported as dynamic
751 // by the internal object. Because the internal object may be something
752 // that was put into this one in order to achieve data slimming.
753 return m_store->getAuxIDs();
754 }
755
756 // In case we don't use an internal store, there are no dynamic
757 // variables:
758 return auxid_set_t();
759 }

◆ 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.

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::println( "ERROR xAOD::AuxContainerBase::getData "
262 "Unknown variable ({}) requested",
264 return nullptr;
265 }
266 }
267
268 // Update the statistics for this variable. The dynamic store registers
269 // its own variable accesses.
271
272 return m_vecs[ auxid ];
273 }
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 520 of file AuxContainerBase.cxx.

520 {
521
522 // Return the full list of known IDs. The constness of this object's
523 // members comes from the object being const or not.
524 return m_auxids;
525 }

◆ 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.

◆ 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 606 of file AuxContainerBase.cxx.

608 {
609 // Guard against multi-threaded execution:
610 guard_t guard( m_mutex );
611
612 // This operation is not allowed on a locked container:
613 if( m_locked ) {
614 throw SG::ExcStoreLocked( "insertMove" );
615 }
616
617 bool nomove = true;
618 size_t other_size = other.size();
619
620 SG::auxid_set_t ignore = ignore_in;
621
622 // Do the operation on the static variables:
623 for (SG::auxid_t id : m_auxids) {
624 SG::IAuxTypeVector* v_dst = nullptr;
625 if (id < m_vecs.size())
626 v_dst = m_vecs[id];
627 // Skip linked vars --- they should be taken care of by the parent var.
628 if (v_dst && !v_dst->isLinked()) {
629 ignore.insert (id);
630 if (other.getData (id)) {
631 void* src_ptr = other.getData (id, other_size, other_size);
632 if (src_ptr) {
633 if (!v_dst->insertMove (pos, src_ptr, 0, other_size,
634 other))
635 nomove = false;
636 }
637 }
638 else {
639 const void* orig = v_dst->toPtr();
640 v_dst->shift (pos, other_size);
641 if (orig != v_dst->toPtr())
642 nomove = false;
643 }
644 }
645 }
646
647 // Do the operation on the dynamic variables:
648 if( m_store ) {
649 if (!m_store->insertMove( pos, other, ignore ))
650 nomove = false;
651
652 // Notice any new variables added as a result of this.
653 m_auxids.insert (m_store->getAuxIDs());
654 }
655
656 return nomove;
657 }
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.

Reimplemented in xAOD::EventInfoAuxContainer_v1.

Definition at line 297 of file AuxContainerBase.cxx.

298 {
299 guard_t guard( m_mutex );
300 if (m_store) {
301 return m_store->isDecoration (auxid);
302 }
303 return false;
304 }

◆ linkedVector() [1/2]

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

Return interface for a linked variable.

Definition at line 401 of file AuxContainerBase.cxx.

402 {
403 const SG::AuxTypeRegistry& r = SG::AuxTypeRegistry::instance();
404 auxid_t linked_id = r.linkedVariable( auxid );
405 if (linked_id != SG::null_auxid) {
406 guard_t guard( m_mutex );
407 if (linked_id < m_vecs.size() && m_vecs[ linked_id ]) {
408 return m_vecs[ linked_id ];
409 }
410 if (m_store) {
411 return CxxUtils::as_const_ptr(m_store)->linkedVector( auxid );
412 }
413 }
414 return nullptr;
415 }
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 418 of file AuxContainerBase.cxx.

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

◆ lock()

void xAOD::AuxContainerBase::lock ( )
overridevirtualinherited

Lock the container.

Definition at line 348 of file AuxContainerBase.cxx.

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

◆ lockDecoration()

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

Lock a decoration.

Reimplemented in xAOD::EventInfoAuxContainer_v1.

Definition at line 392 of file AuxContainerBase.cxx.

393 {
394 guard_t guard (m_mutex);
395 if (m_store) {
396 m_store->lockDecoration (auxid);
397 }
398 }

◆ 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:75

◆ name()

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

Get the name of the container instance.

Definition at line 764 of file AuxContainerBase.cxx.

764 {
765
766 return m_name.c_str();
767 }

◆ 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 555 of file AuxContainerBase.cxx.

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

◆ resize()

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

Resize the arrays to a given size.

Implements SG::IAuxStore.

Definition at line 527 of file AuxContainerBase.cxx.

527 {
528
529 // Guard against multi-threaded execution:
530 guard_t guard( m_mutex );
531
532 // This operation is not allowed on a locked container:
533 if( m_locked ) {
534 throw SG::ExcStoreLocked( "resize" );
535 }
536
537 // Do the operation on the static variables:
538 bool nomoves = true;
539 for (SG::IAuxTypeVector* v : m_vecs) {
540 if(v && !v->isLinked()) {
541 if (!v->resize( size ))
542 nomoves = false;
543 }
544 }
545
546 // Do the operation on the dynamic variables:
547 if( m_store ) {
548 if (!m_store->resize( size ))
549 nomoves = false;
550 }
551
552 return nomoves;
553 }

◆ setName()

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

Set the name of the container instance.

Definition at line 769 of file AuxContainerBase.cxx.

769 {
770
771 m_name = name;
772 return;
773 }
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 660 of file AuxContainerBase.cxx.

661 {
662
663 guard_t guard (m_mutex);
664 if (id < m_vecs.size() && m_vecs[id] != nullptr)
665 return m_vecs[id]->setOption (option);
666
667 if (m_store)
668 return m_store->setOption (id, option);
669 return false;
670 }

◆ 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 580 of file AuxContainerBase.cxx.

580 {
581
582 // Guard against multi-threaded execution:
583 guard_t guard( m_mutex );
584
585 // This operation is not allowed on a locked container:
586 if( m_locked ) {
587 throw SG::ExcStoreLocked( "shift" );
588 }
589
590 // Do the operation on the static variables:
591 for (SG::IAuxTypeVector* v : m_vecs) {
592 if(v && !v->isLinked()) {
593 v->shift( pos, offs );
594 }
595 }
596
597 // Do the operation on the dynamic variables:
598 if( m_store ) {
599 m_store->shift( pos, offs );
600 }
601
602 return;
603 }

◆ size()

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

Get the size of the container.

Definition at line 453 of file AuxContainerBase.cxx.

453 {
454
455 // Guard against multi-threaded execution:
456 guard_t guard (m_mutex);
457
458 // Try to find a variable:
459 for (SG::auxid_t i : m_auxids) {
460 if( ( i < m_vecs.size() ) && m_vecs[ i ] && !m_vecs[ i ]->isLinked()) {
461 size_t sz = m_vecs[ i ]->size();
462 if( sz > 0 ) {
463 return sz;
464 }
465 }
466 }
467
468 // If we didn't find any, let's ask the dynamic store:
469 if( m_store ) {
470 return m_store->size();
471 }
472
473 // If we don't have any variables, then the size must be null:
474 return 0;
475 }
static Double_t sz

◆ toTransient() [1/2]

void xAOD::TrackParticleAuxContainer_v4::toTransient ( )

Function implementing soft schema evolution for the class.

This function is used to implement simple schema evolution rules that don't warrant creating a _v5 class yet.

Definition at line 136 of file TrackParticleAuxContainer_v4.cxx.

136 {
137
138 // Make sure that the numberOfDBMHits variable is of the right size:
139 if( numberOfDBMHits.size() != phi.size() ) {
140 numberOfDBMHits.resize( phi.size(), 0 );
141 }
142 if( numberOfTRTHighThresholdHitsTotal.size() != phi.size() ) {
143 numberOfTRTHighThresholdHitsTotal.resize( phi.size(), 0 );
144 }
145
146 return;
147 }

◆ toTransient() [2/2]

void xAOD::AuxContainerBase::toTransient ( const EventContext & ctx)
overridevirtual

Perform processing on aux variable objects just after reading to make them usable as transient objects.

Reimplemented from xAOD::AuxContainerBase.

Definition at line 165 of file AuxContainerBase.cxx.

436 {
437 // Guard against multi-threaded execution:
438 guard_t guard (m_mutex);
439
440 for (SG::IAuxTypeVector* v : m_vecs) {
441 if(v) {
442 v->toTransient( ctx );
443 }
444 }
445
446 // Do the operation on the dynamic variables:
447 if( m_store ) {
448 m_store->toTransient( ctx );
449 }
450 }

Member Data Documentation

◆ 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 257 of file AuxContainerBase.h.

◆ beamlineTiltX

std::vector< float > xAOD::TrackParticleAuxContainer_v4::beamlineTiltX
private

Definition at line 83 of file TrackParticleAuxContainer_v4.h.

◆ beamlineTiltY

std::vector< float > xAOD::TrackParticleAuxContainer_v4::beamlineTiltY
private

Definition at line 84 of file TrackParticleAuxContainer_v4.h.

◆ chiSquared

std::vector< float > xAOD::TrackParticleAuxContainer_v4::chiSquared
private

Definition at line 90 of file TrackParticleAuxContainer_v4.h.

◆ d0

std::vector< float > xAOD::TrackParticleAuxContainer_v4::d0
private

Definition at line 52 of file TrackParticleAuxContainer_v4.h.

◆ definingParametersCovMatrix

std::vector< std::vector<float> > xAOD::TrackParticleAuxContainer_v4::definingParametersCovMatrix
private

Definition at line 58 of file TrackParticleAuxContainer_v4.h.

◆ eProbabilityComb

std::vector< float > xAOD::TrackParticleAuxContainer_v4::eProbabilityComb
private

Definition at line 153 of file TrackParticleAuxContainer_v4.h.

◆ eProbabilityHT

std::vector< float > xAOD::TrackParticleAuxContainer_v4::eProbabilityHT
private

Definition at line 154 of file TrackParticleAuxContainer_v4.h.

◆ expectInnermostPixelLayerHit

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::expectInnermostPixelLayerHit
private

Definition at line 110 of file TrackParticleAuxContainer_v4.h.

◆ expectNextToInnermostPixelLayerHit

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::expectNextToInnermostPixelLayerHit
private

Definition at line 115 of file TrackParticleAuxContainer_v4.h.

◆ hitPattern

std::vector< uint32_t > xAOD::TrackParticleAuxContainer_v4::hitPattern
private

Definition at line 86 of file TrackParticleAuxContainer_v4.h.

◆ identifierOfFirstHit

std::vector< uint64_t > xAOD::TrackParticleAuxContainer_v4::identifierOfFirstHit
private

Definition at line 81 of file TrackParticleAuxContainer_v4.h.

◆ m_auxids

auxid_set_t xAOD::AuxContainerBase::m_auxids
privateinherited

Internal list of all available variables.

Definition at line 235 of file AuxContainerBase.h.

◆ m_locked

bool xAOD::AuxContainerBase::m_locked
privateinherited

Has the container been locked?

Definition at line 246 of file AuxContainerBase.h.

◆ m_mutex

mutex_t xAOD::AuxContainerBase::m_mutex
mutableprivateinherited

Definition at line 251 of file AuxContainerBase.h.

◆ m_name

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

Name of the container in memory. Set externally.

Definition at line 254 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 244 of file AuxContainerBase.h.

◆ m_store

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

Internal dynamic auxiliary store object.

Definition at line 240 of file AuxContainerBase.h.

◆ m_storeIO

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

The IO interface to the internal auxiliary store.

Definition at line 242 of file AuxContainerBase.h.

◆ m_vecs

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

Internal list of all managed variables.

Definition at line 237 of file AuxContainerBase.h.

◆ numberDoF

std::vector< float > xAOD::TrackParticleAuxContainer_v4::numberDoF
private

Definition at line 91 of file TrackParticleAuxContainer_v4.h.

◆ numberOfContribPixelLayers

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfContribPixelLayers
private

Definition at line 105 of file TrackParticleAuxContainer_v4.h.

◆ numberOfDBMHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfDBMHits
private

Definition at line 125 of file TrackParticleAuxContainer_v4.h.

◆ numberOfGangedFlaggedFakes

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfGangedFlaggedFakes
private

Definition at line 122 of file TrackParticleAuxContainer_v4.h.

◆ numberOfGangedPixels

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfGangedPixels
private

Definition at line 121 of file TrackParticleAuxContainer_v4.h.

◆ numberOfIBLOverflowsdEdx

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfIBLOverflowsdEdx
private

Definition at line 159 of file TrackParticleAuxContainer_v4.h.

◆ numberOfInnermostPixelLayerHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfInnermostPixelLayerHits
private

Definition at line 106 of file TrackParticleAuxContainer_v4.h.

◆ numberOfInnermostPixelLayerOutliers

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfInnermostPixelLayerOutliers
private

Definition at line 107 of file TrackParticleAuxContainer_v4.h.

◆ numberOfInnermostPixelLayerSharedHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfInnermostPixelLayerSharedHits
private

Definition at line 108 of file TrackParticleAuxContainer_v4.h.

◆ numberOfInnermostPixelLayerSplitHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfInnermostPixelLayerSplitHits
private

Definition at line 109 of file TrackParticleAuxContainer_v4.h.

◆ numberOfNextToInnermostPixelLayerHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfNextToInnermostPixelLayerHits
private
Todo
FIXME!Should be bool.

Definition at line 111 of file TrackParticleAuxContainer_v4.h.

◆ numberOfNextToInnermostPixelLayerOutliers

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfNextToInnermostPixelLayerOutliers
private

Definition at line 112 of file TrackParticleAuxContainer_v4.h.

◆ numberOfNextToInnermostPixelLayerSharedHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfNextToInnermostPixelLayerSharedHits
private

Definition at line 113 of file TrackParticleAuxContainer_v4.h.

◆ numberOfNextToInnermostPixelLayerSplitHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfNextToInnermostPixelLayerSplitHits
private

Definition at line 114 of file TrackParticleAuxContainer_v4.h.

◆ numberOfOutliersOnTrack

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfOutliersOnTrack
private

Definition at line 151 of file TrackParticleAuxContainer_v4.h.

◆ numberOfPhiHoleLayers

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

Definition at line 147 of file TrackParticleAuxContainer_v4.h.

◆ numberOfPhiLayers

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

Definition at line 146 of file TrackParticleAuxContainer_v4.h.

◆ numberOfPixelDeadSensors

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfPixelDeadSensors
private

Definition at line 123 of file TrackParticleAuxContainer_v4.h.

◆ numberOfPixelHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfPixelHits
private
Todo
FIXME!Should be bool.

Definition at line 116 of file TrackParticleAuxContainer_v4.h.

◆ numberOfPixelHoles

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfPixelHoles
private

Definition at line 118 of file TrackParticleAuxContainer_v4.h.

◆ numberOfPixelOutliers

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfPixelOutliers
private

Definition at line 117 of file TrackParticleAuxContainer_v4.h.

◆ numberOfPixelSharedHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfPixelSharedHits
private

Definition at line 119 of file TrackParticleAuxContainer_v4.h.

◆ numberOfPixelSplitHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfPixelSplitHits
private

Definition at line 120 of file TrackParticleAuxContainer_v4.h.

◆ numberOfPixelSpoiltHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfPixelSpoiltHits
private

Definition at line 124 of file TrackParticleAuxContainer_v4.h.

◆ numberOfPrecisionHoleLayers

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

Definition at line 145 of file TrackParticleAuxContainer_v4.h.

◆ numberOfPrecisionLayers

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

Definition at line 144 of file TrackParticleAuxContainer_v4.h.

◆ numberOfSCTDeadSensors

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfSCTDeadSensors
private

Definition at line 131 of file TrackParticleAuxContainer_v4.h.

◆ numberOfSCTDoubleHoles

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfSCTDoubleHoles
private

Definition at line 129 of file TrackParticleAuxContainer_v4.h.

◆ numberOfSCTHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfSCTHits
private

Definition at line 126 of file TrackParticleAuxContainer_v4.h.

◆ numberOfSCTHoles

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfSCTHoles
private

Definition at line 128 of file TrackParticleAuxContainer_v4.h.

◆ numberOfSCTOutliers

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfSCTOutliers
private

Definition at line 127 of file TrackParticleAuxContainer_v4.h.

◆ numberOfSCTSharedHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfSCTSharedHits
private

Definition at line 130 of file TrackParticleAuxContainer_v4.h.

◆ numberOfSCTSpoiltHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfSCTSpoiltHits
private

Definition at line 132 of file TrackParticleAuxContainer_v4.h.

◆ numberOfTriggerEtaHoleLayers

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

Definition at line 149 of file TrackParticleAuxContainer_v4.h.

◆ numberOfTriggerEtaLayers

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

Definition at line 148 of file TrackParticleAuxContainer_v4.h.

◆ numberOfTRTDeadStraws

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfTRTDeadStraws
private

Definition at line 139 of file TrackParticleAuxContainer_v4.h.

◆ numberOfTRTHighThresholdHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfTRTHighThresholdHits
private

Definition at line 136 of file TrackParticleAuxContainer_v4.h.

◆ numberOfTRTHighThresholdHitsTotal

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfTRTHighThresholdHitsTotal
private

Definition at line 137 of file TrackParticleAuxContainer_v4.h.

◆ numberOfTRTHighThresholdOutliers

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfTRTHighThresholdOutliers
private

Definition at line 138 of file TrackParticleAuxContainer_v4.h.

◆ numberOfTRTHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfTRTHits
private

Definition at line 133 of file TrackParticleAuxContainer_v4.h.

◆ numberOfTRTHoles

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfTRTHoles
private

Definition at line 135 of file TrackParticleAuxContainer_v4.h.

◆ numberOfTRTOutliers

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfTRTOutliers
private

Definition at line 134 of file TrackParticleAuxContainer_v4.h.

◆ numberOfTRTSharedHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfTRTSharedHits
private

Definition at line 142 of file TrackParticleAuxContainer_v4.h.

◆ numberOfTRTTubeHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfTRTTubeHits
private

Definition at line 140 of file TrackParticleAuxContainer_v4.h.

◆ numberOfTRTXenonHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfTRTXenonHits
private

Definition at line 141 of file TrackParticleAuxContainer_v4.h.

◆ numberOfUsedHitsdEdx

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::numberOfUsedHitsdEdx
private

Definition at line 158 of file TrackParticleAuxContainer_v4.h.

◆ particleHypothesis

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::particleHypothesis
private

Definition at line 97 of file TrackParticleAuxContainer_v4.h.

◆ patternRecoInfo

std::vector< uint64_t > xAOD::TrackParticleAuxContainer_v4::patternRecoInfo
private

Definition at line 99 of file TrackParticleAuxContainer_v4.h.

◆ phi

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

Definition at line 54 of file TrackParticleAuxContainer_v4.h.

◆ pixeldEdx

std::vector< float > xAOD::TrackParticleAuxContainer_v4::pixeldEdx
private

Definition at line 157 of file TrackParticleAuxContainer_v4.h.

◆ qOverP

std::vector< float > xAOD::TrackParticleAuxContainer_v4::qOverP
private

Definition at line 56 of file TrackParticleAuxContainer_v4.h.

◆ radiusOfFirstHit

std::vector< float > xAOD::TrackParticleAuxContainer_v4::radiusOfFirstHit
private

Definition at line 80 of file TrackParticleAuxContainer_v4.h.

◆ standardDeviationOfChi2OS

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::standardDeviationOfChi2OS
private

Definition at line 152 of file TrackParticleAuxContainer_v4.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 216 of file IAuxStore.h.

◆ theta

std::vector< float > xAOD::TrackParticleAuxContainer_v4::theta
private

Definition at line 55 of file TrackParticleAuxContainer_v4.h.

◆ trackFitter

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::trackFitter
private

Definition at line 96 of file TrackParticleAuxContainer_v4.h.

◆ trackProperties

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v4::trackProperties
private

Definition at line 98 of file TrackParticleAuxContainer_v4.h.

◆ TRTTrackOccupancy

std::vector< float> xAOD::TrackParticleAuxContainer_v4::TRTTrackOccupancy
private

Definition at line 168 of file TrackParticleAuxContainer_v4.h.

◆ vx

std::vector< float > xAOD::TrackParticleAuxContainer_v4::vx
private

Definition at line 60 of file TrackParticleAuxContainer_v4.h.

◆ vy

std::vector< float > xAOD::TrackParticleAuxContainer_v4::vy
private

Definition at line 61 of file TrackParticleAuxContainer_v4.h.

◆ vz

std::vector< float > xAOD::TrackParticleAuxContainer_v4::vz
private

Definition at line 62 of file TrackParticleAuxContainer_v4.h.

◆ z0

std::vector< float > xAOD::TrackParticleAuxContainer_v4::z0
private

Definition at line 53 of file TrackParticleAuxContainer_v4.h.


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