ATLAS Offline Software
Public Types | Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
xAOD::TrackParticleAuxContainer_v1 Class Referenceabstract

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

#include <TrackParticleAuxContainer_v1.h>

Inheritance diagram for xAOD::TrackParticleAuxContainer_v1:
Collaboration diagram for xAOD::TrackParticleAuxContainer_v1:

Public Types

typedef SG::auxid_t auxid_t
 The aux ID type definition. More...
 
typedef SG::auxid_set_t auxid_set_t
 The aux ID set type definition. More...
 
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. More...
 
enum  AuxStoreType { AST_ObjectStore = 0, AST_ContainerStore = 1 }
 Type of the auxiliary store. More...
 

Public Member Functions

 TrackParticleAuxContainer_v1 ()
 Default constructor. More...
 
void dump () const
 Dumps contents (for debugging) More...
 
virtual const void * getData (SG::auxid_t auxid) const=0
 Pick up the const version from the base class. More...
 
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. More...
 
template<typename T , typename ALLOC >
auxid_t getAuxID (const std::string &name, std::vector< T, ALLOC > &, SG::AuxVarFlags flags=SG::AuxVarFlags::None)
 Get the auxiliary ID for one of the persistent variables. More...
 
template<typename T >
auxid_t getAuxID (const std::string &name, SG::PackedContainer< T > &, SG::AuxTypeRegistry::Flags flags=SG::AuxTypeRegistry::Flags::None)
 Get the auxiliary ID for one of the persistent variables. More...
 
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. More...
 
template<typename T >
void regAuxVar (auxid_t auxid, const std::string &name, SG::PackedContainer< T > &vec)
 Register one of the persistent variables internally. More...
 

Static Public Attributes

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

Private Types

typedef AthContainers_detail::mutex mutex_t
 Mutex for multithread synchronization. More...
 
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. More...
 

Private Attributes

auxid_set_t m_auxids
 Internal list of all available variables. More...
 
std::vector< SG::IAuxTypeVector * > m_vecs
 Internal list of all managed variables. More...
 
SG::IAuxStorem_store
 Internal dynamic auxiliary store object. More...
 
SG::IAuxStoreIOm_storeIO
 The IO interface to the internal auxiliary store. More...
 
bool m_ownsStore
 Flag deciding if the object owns the dynamic store or not. More...
 
bool m_locked
 Has the container been locked? More...
 
mutex_t m_mutex
 
std::string m_name
 Name of the container in memory. Set externally. More...
 
CxxUtils::CachedPointer< std::pmr::memory_resource > m_memResource ATLAS_THREAD_SAFE
 Memory resource to use for this container. More...
 
Defining parameters (perigee)
std::vector< floatd0
 
std::vector< floatz0
 
std::vector< floatphi
 
std::vector< floattheta
 
std::vector< floatqOverP
 
std::vector< std::vector< float > > definingParametersCovMatrix
 
std::vector< floatvx
 
std::vector< floatvy
 
std::vector< floatvz
 
Parameters

We store the 3-pos, 3-mom and charge, and on the transient side these will be transformed into curvilinear parameters.

Also stored are the cov matrix (still expressed in local coordinate frame) and parameter position.

std::vector< std::vector< float > > parameterX
 
std::vector< std::vector< float > > parameterY
 
std::vector< std::vector< float > > parameterZ
 
std::vector< std::vector< float > > parameterPX
 
std::vector< std::vector< float > > parameterPY
 
std::vector< std::vector< float > > parameterPZ
 
std::vector< std::vector< float > > trackParameterCovarianceMatrices
 
std::vector< std::vector< uint8_t > > parameterPosition
 
Fit quality functions
std::vector< floatchiSquared
 
std::vector< floatnumberDoF
 
TrackInfo functions
std::vector< uint8_ttrackFitter
 
std::vector< uint8_tparticleHypothesis
 
std::vector< uint8_ttrackProperties
 
std::vector< uint64_tpatternRecoInfo
 
TrackSummary information
std::vector< uint8_tnumberOfContribPixelLayers
 
std::vector< uint8_tnumberOfBLayerHits
 
std::vector< uint8_tnumberOfBLayerOutliers
 
std::vector< uint8_tnumberOfBLayerSharedHits
 
std::vector< uint8_tnumberOfBLayerSplitHits
 
std::vector< uint8_texpectBLayerHit
 
std::vector< uint8_tnumberOfInnermostPixelLayerHits
 
std::vector< uint8_tnumberOfInnermostPixelLayerOutliers
 
std::vector< uint8_tnumberOfInnermostPixelLayerSharedHits
 
std::vector< uint8_tnumberOfInnermostPixelLayerSplitHits
 
std::vector< uint8_texpectInnermostPixelLayerHit
 
std::vector< uint8_tnumberOfNextToInnermostPixelLayerHits
 
std::vector< uint8_tnumberOfNextToInnermostPixelLayerOutliers
 
std::vector< uint8_tnumberOfNextToInnermostPixelLayerSharedHits
 
std::vector< uint8_tnumberOfNextToInnermostPixelLayerSplitHits
 
std::vector< uint8_texpectNextToInnermostPixelLayerHit
 
std::vector< uint8_tnumberOfPixelHits
 
std::vector< uint8_tnumberOfPixelOutliers
 
std::vector< uint8_tnumberOfPixelHoles
 
std::vector< uint8_tnumberOfPixelSharedHits
 
std::vector< uint8_tnumberOfPixelSplitHits
 
std::vector< uint8_tnumberOfGangedPixels
 
std::vector< uint8_tnumberOfGangedFlaggedFakes
 
std::vector< uint8_tnumberOfPixelDeadSensors
 
std::vector< uint8_tnumberOfPixelSpoiltHits
 
std::vector< uint8_tnumberOfSCTHits
 
std::vector< uint8_tnumberOfSCTOutliers
 
std::vector< uint8_tnumberOfSCTHoles
 
std::vector< uint8_tnumberOfSCTDoubleHoles
 
std::vector< uint8_tnumberOfSCTSharedHits
 
std::vector< uint8_tnumberOfSCTDeadSensors
 
std::vector< uint8_tnumberOfSCTSpoiltHits
 
std::vector< uint8_tnumberOfTRTHits
 
std::vector< uint8_tnumberOfTRTOutliers
 
std::vector< uint8_tnumberOfTRTHoles
 
std::vector< uint8_tnumberOfTRTHighThresholdHits
 
std::vector< uint8_tnumberOfTRTHighThresholdOutliers
 
std::vector< uint8_tnumberOfTRTDeadStraws
 
std::vector< uint8_tnumberOfTRTTubeHits
 
std::vector< uint8_tnumberOfTRTXenonHits
 
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_tnumberOfOutliersOnTrack
 
std::vector< uint8_tstandardDeviationOfChi2OS
 
std::vector< floateProbabilityComb
 
std::vector< floateProbabilityHT
 
std::vector< floateProbabilityToT
 
std::vector< floateProbabilityBrem
 
Links
std::vector< ElementLink< VertexContainer > > vertexLink
 

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_v1.h.

Member Typedef Documentation

◆ auxid_set_t

The aux ID set type definition.

Definition at line 65 of file AuxContainerBase.h.

◆ auxid_t

The aux ID type definition.

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

◆ guard_t

typedef AthContainers_detail::lock_guard< mutex_t > xAOD::AuxContainerBase::guard_t
privateinherited

Definition at line 231 of file AuxContainerBase.h.

◆ mutex_t

typedef AthContainers_detail::mutex xAOD::AuxContainerBase::mutex_t
privateinherited

Mutex for multithread synchronization.

Definition at line 230 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  };

Constructor & Destructor Documentation

◆ TrackParticleAuxContainer_v1()

xAOD::TrackParticleAuxContainer_v1::TrackParticleAuxContainer_v1 ( )

Default constructor.

Definition at line 11 of file TrackParticleAuxContainer_v1.cxx.

12  : AuxContainerBase() {
13 
14  AUX_VARIABLE( d0 );
15  AUX_VARIABLE( z0 );
16  AUX_VARIABLE( phi );
19 
21 
22  AUX_VARIABLE( vx );
23  AUX_VARIABLE( vy );
24  AUX_VARIABLE( vz );
25 
32  // AUX_VARIABLE( charge );
33 
36 
39 
44 
45  // TrackSummary information
46 #ifndef XAODTRACKPARTICLE_SUMMARYDYNAMIC
47  // uint8_ts
78 
85 
88  // Floats
93 #endif
94 
95  //Links
97 
98  }

Member Function Documentation

◆ clearDecorations()

bool xAOD::AuxContainerBase::clearDecorations ( )
overridevirtualinherited

Clear all decorations.

Implements SG::IConstAuxStore.

Definition at line 325 of file AuxContainerBase.cxx.

325  {
326 
327  // Guard against multi-threaded execution:
328  guard_t guard( m_mutex );
329 
330  // Clear the decorations from the dynamic store:
331  bool anycleared = false;
332  if( m_store ) {
333  anycleared = m_store->clearDecorations();
334  }
335  // Early exit if there were no decorations.
336  if (!anycleared) return false;
337 
338  // Construct the list of managed auxiliary variables from scratch after
339  // the cleanup:
341  for( auxid_t auxid = 0; auxid < m_vecs.size(); ++auxid ) {
342  if( m_vecs[ auxid ] ) {
343  ids.insert( auxid );
344  }
345  }
346  if( m_store ) {
347  ids.insert (m_store->getAuxIDs());
348  }
349  m_auxids = ids;
350 
351  return true;
352  }

◆ dump()

void xAOD::TrackParticleAuxContainer_v1::dump ( ) const

Dumps contents (for debugging)

Definition at line 100 of file TrackParticleAuxContainer_v1.cxx.

100  {
101  std::cout<<" Dumping TrackParticleAuxContainer_v1"<<std::endl;
102  std::cout<<"d0:";
103  std::copy(d0.begin(), d0.end(),
104  std::ostream_iterator<float>(std::cout, ", "));
105  std::cout<<"z0:";
106  std::copy(z0.begin(), z0.end(),
107  std::ostream_iterator<float>(std::cout, ", "));
108  std::cout<<"phi:";
109  std::copy(phi.begin(), phi.end(),
110  std::ostream_iterator<float>(std::cout, ", "));
111  std::cout<<"theta:";
112  std::copy(theta.begin(), theta.end(),
113  std::ostream_iterator<float>(std::cout, ", "));
114  std::cout<<"qOverP:";
115  std::copy(qOverP.begin(), qOverP.end(),
116  std::ostream_iterator<float>(std::cout, ", "));
117  std::cout<<"definingParametersCovMatrix: ";
118  for (unsigned int i=0; i<definingParametersCovMatrix.size();++i){
120  std::ostream_iterator<float>(std::cout, ", "));
121  std::cout<<std::endl;
122  }
123  }

◆ getAuxID() [1/2]

template<typename T >
auxid_t xAOD::AuxContainerBase::getAuxID ( const std::string &  name,
SG::PackedContainer< T > &  ,
SG::AuxTypeRegistry::Flags  flags = SG::AuxTypeRegistry::Flags::None 
)
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 
)
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 258 of file AuxContainerBase.cxx.

258  {
259 
260  // Return the full list of IDs:
261  return getWritableAuxIDs();
262  }

◆ getData() [1/3]

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

Get a pointer to a given array.

Implements SG::IConstAuxStore.

Definition at line 227 of file AuxContainerBase.cxx.

227  {
228 
229  // Guard against multi-threaded execution:
230  guard_t guard( m_mutex );
231 
232  if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
233  if( m_store ) {
234  const void* result = m_store->getData( auxid );
235  if( result ) {
236  auxid_set_t& auxids_nc ATLAS_THREAD_SAFE =
237  const_cast<auxid_set_t&> (m_auxids);
238  auxids_nc.insert( auxid );
239  }
240  return result;
241  } else {
242  std::cout << "ERROR xAOD::AuxContainerBase::getData "
243  << "Unknown variable ("
245  << ") requested" << std::endl;
246  return nullptr;
247  }
248  }
249 
250  // Update the statistics for this variable. The dynamic store registers
251  // its own variable accesses.
253 
254  return m_vecs[ auxid ]->toPtr();
255  }

◆ getData() [2/3]

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

396  {
397 
398  // Guard against multi-threaded execution:
399  guard_t guard( m_mutex );
400 
401  if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
402 
403  if( m_store ) {
404  void* result = m_store->getData( auxid, size, capacity );
405  if( result ) {
406  m_auxids.insert( auxid );
407  }
408  return result;
409  } else {
410  std::cout << "ERROR xAOD::AuxContainerBase::getData "
411  << "Unknown variable ("
413  << ") requested" << std::endl;
414  return nullptr;
415  }
416  }
417  m_vecs[ auxid ]->reserve( capacity );
418  m_vecs[ auxid ]->resize( size );
419 
420  return m_vecs[ auxid ]->toPtr();
421  }

◆ getData() [3/3]

virtual const void* SG::IConstAuxStore::getData
inherited

Pick up the const version from the base class.

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

274  {
275  {
276  // Guard against multi-threaded execution:
277  guard_t guard( m_mutex );
278 
279  // Check if we have it as a static variable:
280  if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
281  // If not, but we have a dynamic store, push it in there:
282  if( m_store ) {
283  void* result = m_store->getDecoration( auxid, size, capacity );
284  if( result ) {
285  m_auxids.insert( auxid );
286  }
287  return result;
288  }
289  // If we don't have a dynamic store, complain:
290  else {
291  std::cout << "ERROR xAOD::AuxContainerBase::getDecoration "
292  << "Can't provide variable "
294  << std::endl;
295  return nullptr;
296  }
297  }
298 
299  // If the container is locked, static variables can't be accessed this
300  // way:
301  if( m_locked ) {
302  throw SG::ExcStoreLocked( auxid );
303  }
304  }
305 
306  // If the container is not locked, then fall back on the normal accessor
307  // function:
308  return getData( auxid, size, capacity );
309  }

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

628  {
629 
630  // Guard against multi-threaded execution:
631  guard_t guard( m_mutex );
632 
633  // All the variables handled by the internal store are dynamic
634  // if such a store exists:
635  if( m_storeIO ) {
636  // I mean, all the variables. Not just the ones reported as dynamic
637  // by the internal object. Because the internal object may be something
638  // that was put into this one in order to achieve data slimming.
639  return m_store->getAuxIDs();
640  }
641  // In case we don't use an internal store, there are no dynamic
642  // variables:
643  static const auxid_set_t dummy (0);
644  return dummy;
645  }

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

586  {
587 
588  // Guard against multi-threaded execution:
589  guard_t guard( m_mutex );
590 
591  // If the variable is not static, look for it in the dynamic store:
592  if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
593  if( m_storeIO ) {
594  return m_storeIO->getIOData( auxid );
595  } else {
596  std::cout << "ERROR xAOD::AuxContainerBase::getIOData "
597  << "Unknown variable ("
599  << ") requested" << std::endl;
600  return nullptr;
601  }
602  }
603 
604  // Update the statistics for this variable. The dynamic store registers
605  // its own variable accesses.
607 
608  return m_vecs[ auxid ]->toVector();
609  }

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

611  {
612 
613  // Guard against multi-threaded execution:
614  guard_t guard( m_mutex );
615 
616  // If the variable is not static, ask the dynamic store:
617  if( ( auxid >= m_vecs.size() ) || ( ! m_vecs[ auxid ] ) ) {
618  if( m_storeIO ) {
619  return m_storeIO->getIOType( auxid );
620  }
621  }
622 
623  // Fall back on getting the information from the registry:
624  return SG::AuxTypeRegistry::instance().getVecType( auxid );
625  }

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

648  {
649 
650  // Guard against multi-threaded execution:
651  guard_t guard( m_mutex );
652 
653  // All the variables handled by the internal store are dynamic
654  // if such a store exists:
655  if( m_storeIO ) {
656  // I mean, all the variables. Not just the ones reported as dynamic
657  // by the internal object. Because the internal object may be something
658  // that was put into this one in order to achieve data slimming.
659  return m_store->getAuxIDs();
660  }
661 
662  // In case we don't use an internal store, there are no dynamic
663  // variables:
664  return auxid_set_t();
665  }

◆ getStore() [1/2]

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

Implements SG::IAuxStoreHolder.

Definition at line 178 of file AuxContainerBase.cxx.

179  {
180  return m_store;
181  }

◆ getStore() [2/2]

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

Get the currently used internal store object.

Implements SG::IAuxStoreHolder.

Definition at line 151 of file AuxContainerBase.cxx.

152  {
153  return m_store;
154  }

◆ getStoreType()

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

Return the type of the store object.

Implements SG::IAuxStoreHolder.

Definition at line 92 of file AuxContainerBase.h.

92 { return AST_ContainerStore; }

◆ getWritableAuxIDs()

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

Return a set of writable data identifiers.

Implements SG::IAuxStore.

Definition at line 424 of file AuxContainerBase.cxx.

424  {
425 
426  // Return the full list of known IDs. The constness of this object's
427  // members comes from the object being const or not.
428  return m_auxids;
429  }

◆ insertMove() [1/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 510 of file AuxContainerBase.cxx.

512  {
513  // Guard against multi-threaded execution:
514  guard_t guard( m_mutex );
515 
516  // This operation is not allowed on a locked container:
517  if( m_locked ) {
518  throw SG::ExcStoreLocked( "insertMove" );
519  }
520 
522  bool nomove = true;
523  size_t other_size = other.size();
524 
525  SG::auxid_set_t ignore = ignore_in;
526 
527  // Do the operation on the static variables:
528  for (SG::auxid_t id : m_auxids) {
529  SG::IAuxTypeVector* v_dst = nullptr;
530  if (id < m_vecs.size())
531  v_dst = m_vecs[id];
532  if (v_dst) {
533  ignore.insert (id);
534  if (other.getData (id)) {
535  void* src_ptr = other.getData (id, other_size, other_size);
536  if (src_ptr) {
537  if (!v_dst->insertMove (pos, src_ptr,
538  reinterpret_cast<char*>(src_ptr) + other_size*r.getEltSize(id),
539  other))
540  nomove = false;
541  }
542  }
543  else {
544  const void* orig = v_dst->toPtr();
545  v_dst->shift (pos, other_size);
546  if (orig != v_dst->toPtr())
547  nomove = false;
548  }
549  }
550  }
551 
552  // Do the operation on the dynamic variables:
553  if( m_store ) {
554  if (!m_store->insertMove( pos, other, ignore ))
555  nomove = false;
556 
557  // Notice any new variables added as a result of this.
559  }
560 
561  return nomove;
562  }

◆ insertMove() [2/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.

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

265  {
266  guard_t guard( m_mutex );
267  if (m_store) {
268  return m_store->isDecoration (auxid);
269  }
270  return false;
271  }

◆ lock()

void xAOD::AuxContainerBase::lock ( )
overridevirtualinherited

Lock the container.

Implements ILockable.

Definition at line 311 of file AuxContainerBase.cxx.

311  {
312 
313  // Guard against multi-threaded execution:
314  guard_t guard( m_mutex );
315 
316  // Lock the object and its dynamic store:
317  m_locked = true;
318  if( m_store ) {
319  m_store->lock();
320  }
321 
322  return;
323  }

◆ lockDecoration()

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

Lock a decoration.

Implements SG::IConstAuxStore.

Reimplemented in xAOD::EventInfoAuxContainer_v1.

Definition at line 355 of file AuxContainerBase.cxx.

356  {
357  guard_t guard (m_mutex);
358  if (m_store) {
359  m_store->lockDecoration (auxid);
360  }
361  }

◆ memResource()

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

Return the memory resource to use.

Definition at line 156 of file AuxContainerBase.cxx.

157  {
158  const std::pmr::memory_resource* cptr = m_memResource.get();
159  std::pmr::memory_resource* ptr ATLAS_THREAD_SAFE = const_cast<std::pmr::memory_resource*>( cptr );
160  if( !ptr ) {
161 #ifndef XAOD_STANDALONE
162  const EventContext& ctx = Gaudi::Hive::currentContext();
163  if( Atlas::hasExtendedEventContext( ctx ) ) {
164  ptr = Atlas::getExtendedEventContext( ctx ).memResource();
165  }
166  if( !ptr )
167 #endif
168  {
169  ptr = std::pmr::get_default_resource();
170  }
171  if( ptr ) {
172  m_memResource.set( ptr );
173  }
174  }
175  return ptr;
176  }

◆ name()

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

Get the name of the container instance.

Definition at line 670 of file AuxContainerBase.cxx.

670  {
671 
672  return m_name.c_str();
673  }

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

459  {
460 
461  // Guard against multi-threaded execution:
462  guard_t guard( m_mutex );
463 
464  // This operation is not allowed on a locked container:
465  if( m_locked ) {
466  throw SG::ExcStoreLocked( "reserve" );
467  }
468 
469  // Do the operation on the static variables:
472  for( ; itr != end; ++itr ) {
473  if( *itr ) ( *itr )->reserve( size );
474  }
475 
476  // Do the operation on the dynamic variables:
477  if( m_store ) {
478  m_store->reserve( size );
479  }
480 
481  return;
482  }

◆ resize()

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

Resize the arrays to a given size.

Implements SG::IAuxStore.

Definition at line 431 of file AuxContainerBase.cxx.

431  {
432 
433  // Guard against multi-threaded execution:
434  guard_t guard( m_mutex );
435 
436  // This operation is not allowed on a locked container:
437  if( m_locked ) {
438  throw SG::ExcStoreLocked( "resize" );
439  }
440 
441  // Do the operation on the static variables:
442  bool nomoves = true;
443  for (SG::IAuxTypeVector* v : m_vecs) {
444  if(v) {
445  if (!v->resize( size ))
446  nomoves = false;
447  }
448  }
449 
450  // Do the operation on the dynamic variables:
451  if( m_store ) {
452  if (!m_store->resize( size ))
453  nomoves = false;
454  }
455 
456  return nomoves;
457  }

◆ setName()

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

Set the name of the container instance.

Definition at line 675 of file AuxContainerBase.cxx.

675  {
676 
677  m_name = name;
678  return;
679  }

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

566  {
567 
568  guard_t guard (m_mutex);
569  if (id < m_vecs.size() && m_vecs[id] != nullptr)
570  return m_vecs[id]->setOption (option);
571 
572  if (m_store)
573  return m_store->setOption (id, option);
574  return false;
575  }

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

192  {
193 
194  // Guard against multi-threaded execution:
195  guard_t guard( m_mutex );
196 
197  // Check that no funny business is going on:
198  if( m_store == store ) return;
199 
200  // Clean up the current store object:
201  if( m_store && m_ownsStore ) {
202  m_auxids -= m_store->getAuxIDs();
203  delete m_store;
204  }
205  m_store = nullptr;
206  m_storeIO = nullptr;
207 
208  // Take posession of the new object:
209  m_store = store;
210  m_storeIO = dynamic_cast< SG::IAuxStoreIO* >( m_store );
211  m_ownsStore = true;
212  if( m_store ) {
214  }
215 
216  return;
217  }

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

484  {
485 
486  // Guard against multi-threaded execution:
487  guard_t guard( m_mutex );
488 
489  // This operation is not allowed on a locked container:
490  if( m_locked ) {
491  throw SG::ExcStoreLocked( "shift" );
492  }
493 
494  // Do the operation on the static variables:
497  for( ; itr != end; ++itr ) {
498  if( *itr ) ( *itr )->shift( pos, offs );
499  }
500 
501  // Do the operation on the dynamic variables:
502  if( m_store ) {
503  m_store->shift( pos, offs );
504  }
505 
506  return;
507  }

◆ size()

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

Get the size of the container.

Implements SG::IConstAuxStore.

Definition at line 363 of file AuxContainerBase.cxx.

363  {
364 
365  // Guard against multi-threaded execution:
366  guard_t guard (m_mutex);
367 
368  // Try to find a variable:
369  for (SG::auxid_t i : m_auxids) {
370  if( ( i < m_vecs.size() ) && m_vecs[ i ] ) {
371  size_t sz = m_vecs[ i ]->size();
372  if( sz > 0 ) {
373  return sz;
374  }
375  }
376  }
377 
378  // If we didn't find any, let's ask the dynamic store:
379  if( m_store ) {
380  return m_store->size();
381  }
382 
383  // If we don't have any variables, then the size must be null:
384  return 0;
385  }

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

◆ chiSquared

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

Definition at line 79 of file TrackParticleAuxContainer_v1.h.

◆ d0

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

Definition at line 49 of file TrackParticleAuxContainer_v1.h.

◆ definingParametersCovMatrix

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

Definition at line 55 of file TrackParticleAuxContainer_v1.h.

◆ eProbabilityBrem

std::vector< float > xAOD::TrackParticleAuxContainer_v1::eProbabilityBrem
private

Definition at line 147 of file TrackParticleAuxContainer_v1.h.

◆ eProbabilityComb

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

Definition at line 144 of file TrackParticleAuxContainer_v1.h.

◆ eProbabilityHT

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

Definition at line 145 of file TrackParticleAuxContainer_v1.h.

◆ eProbabilityToT

std::vector< float > xAOD::TrackParticleAuxContainer_v1::eProbabilityToT
private

Definition at line 146 of file TrackParticleAuxContainer_v1.h.

◆ expectBLayerHit

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v1::expectBLayerHit
private

Definition at line 99 of file TrackParticleAuxContainer_v1.h.

◆ expectInnermostPixelLayerHit

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

Definition at line 104 of file TrackParticleAuxContainer_v1.h.

◆ expectNextToInnermostPixelLayerHit

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

Definition at line 109 of file TrackParticleAuxContainer_v1.h.

◆ m_auxids

auxid_set_t xAOD::AuxContainerBase::m_auxids
privateinherited

Internal list of all available variables.

Definition at line 216 of file AuxContainerBase.h.

◆ m_locked

bool xAOD::AuxContainerBase::m_locked
privateinherited

Has the container been locked?

Definition at line 227 of file AuxContainerBase.h.

◆ m_mutex

mutex_t xAOD::AuxContainerBase::m_mutex
mutableprivateinherited

Definition at line 232 of file AuxContainerBase.h.

◆ m_name

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

Name of the container in memory. Set externally.

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

◆ m_store

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

Internal dynamic auxiliary store object.

Definition at line 221 of file AuxContainerBase.h.

◆ m_storeIO

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

The IO interface to the internal auxiliary store.

Definition at line 223 of file AuxContainerBase.h.

◆ m_vecs

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

Internal list of all managed variables.

Definition at line 218 of file AuxContainerBase.h.

◆ numberDoF

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

Definition at line 80 of file TrackParticleAuxContainer_v1.h.

◆ numberOfBLayerHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v1::numberOfBLayerHits
private

Definition at line 95 of file TrackParticleAuxContainer_v1.h.

◆ numberOfBLayerOutliers

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v1::numberOfBLayerOutliers
private

Definition at line 96 of file TrackParticleAuxContainer_v1.h.

◆ numberOfBLayerSharedHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v1::numberOfBLayerSharedHits
private

Definition at line 97 of file TrackParticleAuxContainer_v1.h.

◆ numberOfBLayerSplitHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v1::numberOfBLayerSplitHits
private

Definition at line 98 of file TrackParticleAuxContainer_v1.h.

◆ numberOfContribPixelLayers

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

Definition at line 94 of file TrackParticleAuxContainer_v1.h.

◆ numberOfGangedFlaggedFakes

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

Definition at line 116 of file TrackParticleAuxContainer_v1.h.

◆ numberOfGangedPixels

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

Definition at line 115 of file TrackParticleAuxContainer_v1.h.

◆ numberOfInnermostPixelLayerHits

std::vector< uint8_t > xAOD::TrackParticleAuxContainer_v1::numberOfInnermostPixelLayerHits
private
Todo:
FIXME!Should be bool.

Definition at line 100 of file TrackParticleAuxContainer_v1.h.

◆ numberOfInnermostPixelLayerOutliers

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

Definition at line 101 of file TrackParticleAuxContainer_v1.h.

◆ numberOfInnermostPixelLayerSharedHits

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

Definition at line 102 of file TrackParticleAuxContainer_v1.h.

◆ numberOfInnermostPixelLayerSplitHits

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

Definition at line 103 of file TrackParticleAuxContainer_v1.h.

◆ numberOfNextToInnermostPixelLayerHits

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

Definition at line 105 of file TrackParticleAuxContainer_v1.h.

◆ numberOfNextToInnermostPixelLayerOutliers

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

Definition at line 106 of file TrackParticleAuxContainer_v1.h.

◆ numberOfNextToInnermostPixelLayerSharedHits

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

Definition at line 107 of file TrackParticleAuxContainer_v1.h.

◆ numberOfNextToInnermostPixelLayerSplitHits

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

Definition at line 108 of file TrackParticleAuxContainer_v1.h.

◆ numberOfOutliersOnTrack

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

Definition at line 142 of file TrackParticleAuxContainer_v1.h.

◆ numberOfPhiHoleLayers

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

Definition at line 138 of file TrackParticleAuxContainer_v1.h.

◆ numberOfPhiLayers

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

Definition at line 137 of file TrackParticleAuxContainer_v1.h.

◆ numberOfPixelDeadSensors

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

Definition at line 117 of file TrackParticleAuxContainer_v1.h.

◆ numberOfPixelHits

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

Definition at line 110 of file TrackParticleAuxContainer_v1.h.

◆ numberOfPixelHoles

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

Definition at line 112 of file TrackParticleAuxContainer_v1.h.

◆ numberOfPixelOutliers

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

Definition at line 111 of file TrackParticleAuxContainer_v1.h.

◆ numberOfPixelSharedHits

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

Definition at line 113 of file TrackParticleAuxContainer_v1.h.

◆ numberOfPixelSplitHits

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

Definition at line 114 of file TrackParticleAuxContainer_v1.h.

◆ numberOfPixelSpoiltHits

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

Definition at line 118 of file TrackParticleAuxContainer_v1.h.

◆ numberOfPrecisionHoleLayers

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

Definition at line 136 of file TrackParticleAuxContainer_v1.h.

◆ numberOfPrecisionLayers

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

Definition at line 135 of file TrackParticleAuxContainer_v1.h.

◆ numberOfSCTDeadSensors

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

Definition at line 124 of file TrackParticleAuxContainer_v1.h.

◆ numberOfSCTDoubleHoles

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

Definition at line 122 of file TrackParticleAuxContainer_v1.h.

◆ numberOfSCTHits

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

Definition at line 119 of file TrackParticleAuxContainer_v1.h.

◆ numberOfSCTHoles

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

Definition at line 121 of file TrackParticleAuxContainer_v1.h.

◆ numberOfSCTOutliers

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

Definition at line 120 of file TrackParticleAuxContainer_v1.h.

◆ numberOfSCTSharedHits

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

Definition at line 123 of file TrackParticleAuxContainer_v1.h.

◆ numberOfSCTSpoiltHits

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

Definition at line 125 of file TrackParticleAuxContainer_v1.h.

◆ numberOfTriggerEtaHoleLayers

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

Definition at line 140 of file TrackParticleAuxContainer_v1.h.

◆ numberOfTriggerEtaLayers

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

Definition at line 139 of file TrackParticleAuxContainer_v1.h.

◆ numberOfTRTDeadStraws

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

Definition at line 131 of file TrackParticleAuxContainer_v1.h.

◆ numberOfTRTHighThresholdHits

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

Definition at line 129 of file TrackParticleAuxContainer_v1.h.

◆ numberOfTRTHighThresholdOutliers

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

Definition at line 130 of file TrackParticleAuxContainer_v1.h.

◆ numberOfTRTHits

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

Definition at line 126 of file TrackParticleAuxContainer_v1.h.

◆ numberOfTRTHoles

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

Definition at line 128 of file TrackParticleAuxContainer_v1.h.

◆ numberOfTRTOutliers

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

Definition at line 127 of file TrackParticleAuxContainer_v1.h.

◆ numberOfTRTTubeHits

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

Definition at line 132 of file TrackParticleAuxContainer_v1.h.

◆ numberOfTRTXenonHits

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

Definition at line 133 of file TrackParticleAuxContainer_v1.h.

◆ parameterPosition

std::vector< std::vector<uint8_t> > xAOD::TrackParticleAuxContainer_v1::parameterPosition
private

Definition at line 75 of file TrackParticleAuxContainer_v1.h.

◆ parameterPX

std::vector< std::vector<float> > xAOD::TrackParticleAuxContainer_v1::parameterPX
private

Definition at line 69 of file TrackParticleAuxContainer_v1.h.

◆ parameterPY

std::vector< std::vector<float> > xAOD::TrackParticleAuxContainer_v1::parameterPY
private

Definition at line 70 of file TrackParticleAuxContainer_v1.h.

◆ parameterPZ

std::vector< std::vector<float> > xAOD::TrackParticleAuxContainer_v1::parameterPZ
private

Definition at line 71 of file TrackParticleAuxContainer_v1.h.

◆ parameterX

std::vector< std::vector<float> > xAOD::TrackParticleAuxContainer_v1::parameterX
private

Definition at line 66 of file TrackParticleAuxContainer_v1.h.

◆ parameterY

std::vector< std::vector<float> > xAOD::TrackParticleAuxContainer_v1::parameterY
private

Definition at line 67 of file TrackParticleAuxContainer_v1.h.

◆ parameterZ

std::vector< std::vector<float> > xAOD::TrackParticleAuxContainer_v1::parameterZ
private

Definition at line 68 of file TrackParticleAuxContainer_v1.h.

◆ particleHypothesis

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

Definition at line 86 of file TrackParticleAuxContainer_v1.h.

◆ patternRecoInfo

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

Definition at line 88 of file TrackParticleAuxContainer_v1.h.

◆ phi

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

Definition at line 51 of file TrackParticleAuxContainer_v1.h.

◆ qOverP

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

Definition at line 53 of file TrackParticleAuxContainer_v1.h.

◆ standardDeviationOfChi2OS

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

Definition at line 143 of file TrackParticleAuxContainer_v1.h.

◆ supportsThinning

constexpr 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 189 of file IAuxStore.h.

◆ theta

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

Definition at line 52 of file TrackParticleAuxContainer_v1.h.

◆ trackFitter

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

Definition at line 85 of file TrackParticleAuxContainer_v1.h.

◆ trackParameterCovarianceMatrices

std::vector< std::vector<float> > xAOD::TrackParticleAuxContainer_v1::trackParameterCovarianceMatrices
private

Definition at line 74 of file TrackParticleAuxContainer_v1.h.

◆ trackProperties

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

Definition at line 87 of file TrackParticleAuxContainer_v1.h.

◆ vertexLink

std::vector< ElementLink< VertexContainer > > xAOD::TrackParticleAuxContainer_v1::vertexLink
private

Definition at line 153 of file TrackParticleAuxContainer_v1.h.

◆ vx

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

Definition at line 57 of file TrackParticleAuxContainer_v1.h.

◆ vy

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

Definition at line 58 of file TrackParticleAuxContainer_v1.h.

◆ vz

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

Definition at line 59 of file TrackParticleAuxContainer_v1.h.

◆ z0

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

Definition at line 50 of file TrackParticleAuxContainer_v1.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
xAOD::AuxContainerBase::m_name
std::string m_name
Name of the container in memory. Set externally.
Definition: AuxContainerBase.h:235
SG::IAuxTypeVector::shift
virtual bool shift(size_t pos, ptrdiff_t offs)=0
Shift the elements of the vector.
beamspotman.r
def r
Definition: beamspotman.py:676
store
StoreGateSvc * store
Definition: fbtTestBasics.cxx:69
beamspotPlotBcids.sz
sz
Definition: beamspotPlotBcids.py:521
xAOD::TrackParticleAuxContainer_v1::particleHypothesis
std::vector< uint8_t > particleHypothesis
Definition: TrackParticleAuxContainer_v1.h:86
xAOD::AuxContainerBase::name
const char * name() const
Get the name of the container instance.
Definition: AuxContainerBase.cxx:670
SG::IAuxStore::insertMove
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.
SG::IConstAuxStore::lockDecoration
virtual void lockDecoration(SG::auxid_t auxid)=0
Lock a decoration.
get_generator_info.result
result
Definition: get_generator_info.py:21
xAOD::TrackParticleAuxContainer_v1::vertexLink
std::vector< ElementLink< VertexContainer > > vertexLink
Definition: TrackParticleAuxContainer_v1.h:153
xAOD::TrackParticleAuxContainer_v1::numberOfTRTHits
std::vector< uint8_t > numberOfTRTHits
Definition: TrackParticleAuxContainer_v1.h:126
xAOD::IOStats::stats
ReadStats & stats()
Access the object belonging to the current thread.
Definition: IOStats.cxx:17
xAOD::TrackParticleAuxContainer_v1::eProbabilityToT
std::vector< float > eProbabilityToT
Definition: TrackParticleAuxContainer_v1.h:146
SG::AuxTypeRegistry::instance
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Definition: AuxTypeRegistry.cxx:49
xAOD::TrackParticleAuxContainer_v1::parameterX
std::vector< std::vector< float > > parameterX
Definition: TrackParticleAuxContainer_v1.h:66
xAOD::AuxContainerBase::m_store
SG::IAuxStore * m_store
Internal dynamic auxiliary store object.
Definition: AuxContainerBase.h:221
SG::AuxTypeRegistry::getName
std::string getName(SG::auxid_t auxid) const
Return the name of an aux data item.
Definition: AuxTypeRegistry.cxx:262
xAOD::AuxContainerBase::guard_t
AthContainers_detail::lock_guard< mutex_t > guard_t
Definition: AuxContainerBase.h:231
xAOD::TrackParticleAuxContainer_v1::numberOfBLayerSplitHits
std::vector< uint8_t > numberOfBLayerSplitHits
Definition: TrackParticleAuxContainer_v1.h:98
xAOD::TrackParticleAuxContainer_v1::numberOfSCTSharedHits
std::vector< uint8_t > numberOfSCTSharedHits
Definition: TrackParticleAuxContainer_v1.h:123
SG::ExcStoreLocked
Exception — Attempted to modify auxiliary data in a locked store.
Definition: Control/AthContainers/AthContainers/exceptions.h:183
xAOD::TrackParticleAuxContainer_v1::numberOfPixelSplitHits
std::vector< uint8_t > numberOfPixelSplitHits
Definition: TrackParticleAuxContainer_v1.h:114
Atlas::hasExtendedEventContext
bool hasExtendedEventContext(const EventContext &ctx)
Test whether a context object has an extended context installed.
Definition: ExtendedEventContext.cxx:23
xAOD::TrackParticleAuxContainer_v1::numberOfTRTHighThresholdOutliers
std::vector< uint8_t > numberOfTRTHighThresholdOutliers
Definition: TrackParticleAuxContainer_v1.h:130
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
xAOD::TrackParticleAuxContainer_v1::d0
std::vector< float > d0
Definition: TrackParticleAuxContainer_v1.h:49
xAOD::other
@ other
Definition: TrackingPrimitives.h:509
xAOD::TrackParticleAuxContainer_v1::eProbabilityHT
std::vector< float > eProbabilityHT
Definition: TrackParticleAuxContainer_v1.h:145
xAOD::TrackParticleAuxContainer_v1::numberOfOutliersOnTrack
std::vector< uint8_t > numberOfOutliersOnTrack
Definition: TrackParticleAuxContainer_v1.h:142
atn_test_sgProducerConsumerDataPool_jobOptions.end
end
Definition: atn_test_sgProducerConsumerDataPool_jobOptions.py:25
xAOD::TrackParticleAuxContainer_v1::eProbabilityBrem
std::vector< float > eProbabilityBrem
Definition: TrackParticleAuxContainer_v1.h:147
xAOD::TrackParticleAuxContainer_v1::parameterY
std::vector< std::vector< float > > parameterY
Definition: TrackParticleAuxContainer_v1.h:67
xAOD::TrackParticleAuxContainer_v1::trackFitter
std::vector< uint8_t > trackFitter
Definition: TrackParticleAuxContainer_v1.h:85
SG::IAuxStoreIO::getIOType
virtual const std::type_info * getIOType(SG::auxid_t auxid) const =0
Return the type of the data to be stored for one aux data item.
xAOD::AuxContainerBase::m_mutex
mutex_t m_mutex
Definition: AuxContainerBase.h:232
xAOD::TrackParticleAuxContainer_v1::numberOfPhiLayers
std::vector< uint8_t > numberOfPhiLayers
Definition: TrackParticleAuxContainer_v1.h:137
xAOD::TrackParticleAuxContainer_v1::parameterPX
std::vector< std::vector< float > > parameterPX
Definition: TrackParticleAuxContainer_v1.h:69
SG::IConstAuxStore::size
virtual size_t size() const =0
Return the number of elements in the store.
SG::IAuxStore::shift
virtual void shift(size_t pos, ptrdiff_t offs)=0
Shift the elements of the container.
xAOD::TrackParticleAuxContainer_v1::numberOfSCTSpoiltHits
std::vector< uint8_t > numberOfSCTSpoiltHits
Definition: TrackParticleAuxContainer_v1.h:125
xAOD::TrackParticleAuxContainer_v1::standardDeviationOfChi2OS
std::vector< uint8_t > standardDeviationOfChi2OS
Definition: TrackParticleAuxContainer_v1.h:143
SG::IAuxStoreIO
Interface providing I/O for a generic auxiliary store.
Definition: IAuxStoreIO.h:44
xAOD::TrackParticleAuxContainer_v1::trackProperties
std::vector< uint8_t > trackProperties
Definition: TrackParticleAuxContainer_v1.h:87
SG::AuxTypeRegistry
Handle mappings between names and auxid_t.
Definition: AuxTypeRegistry.h:62
Atlas::getExtendedEventContext
const ExtendedEventContext & getExtendedEventContext(const EventContext &ctx)
Retrieve an extended context from a context object.
Definition: ExtendedEventContext.cxx:32
xAOD::AuxContainerBase::size
virtual size_t size() const override
Get the size of the container.
Definition: AuxContainerBase.cxx:363
DiTauMassTools::ignore
void ignore(T &&)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:54
SG::IAuxStore::setOption
virtual bool setOption(auxid_t, const AuxDataOption &)
Set an option for a given auxiliary variable.
Definition: IAuxStore.h:176
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition: AuxTypes.h:27
xAOD::TrackParticleAuxContainer_v1::vx
std::vector< float > vx
Definition: TrackParticleAuxContainer_v1.h:57
SG::IConstAuxStore::clearDecorations
virtual bool clearDecorations()=0
Clear all decorations.
xAOD::TrackParticleAuxContainer_v1::numberOfPhiHoleLayers
std::vector< uint8_t > numberOfPhiHoleLayers
Definition: TrackParticleAuxContainer_v1.h:138
xAOD::AuxContainerBase::auxid_set_t
SG::auxid_set_t auxid_set_t
The aux ID set type definition.
Definition: AuxContainerBase.h:65
xAOD::AuxContainerBase::m_auxids
auxid_set_t m_auxids
Internal list of all available variables.
Definition: AuxContainerBase.h:216
xAOD::TrackParticleAuxContainer_v1::numberOfGangedFlaggedFakes
std::vector< uint8_t > numberOfGangedFlaggedFakes
Definition: TrackParticleAuxContainer_v1.h:116
xAOD::AuxContainerBase::m_vecs
std::vector< SG::IAuxTypeVector * > m_vecs
Internal list of all managed variables.
Definition: AuxContainerBase.h:218
lumiFormat.i
int i
Definition: lumiFormat.py:92
CxxUtils::ConcurrentBitset::insert
ConcurrentBitset & insert(bit_t bit, bit_t new_nbits=0)
Set a bit to 1.
AUX_VARIABLE
#define AUX_VARIABLE(VAR,...)
Convenience macro for declaring an auxiliary variable.
Definition: AuxVariable.h:22
xAOD::TrackParticleAuxContainer_v1::numberDoF
std::vector< float > numberDoF
Definition: TrackParticleAuxContainer_v1.h:80
xAOD::TrackParticleAuxContainer_v1::numberOfBLayerHits
std::vector< uint8_t > numberOfBLayerHits
Definition: TrackParticleAuxContainer_v1.h:95
xAOD::TrackParticleAuxContainer_v1::numberOfTRTDeadStraws
std::vector< uint8_t > numberOfTRTDeadStraws
Definition: TrackParticleAuxContainer_v1.h:131
xAOD::TrackParticleAuxContainer_v1::numberOfPixelDeadSensors
std::vector< uint8_t > numberOfPixelDeadSensors
Definition: TrackParticleAuxContainer_v1.h:117
xAOD::TrackParticleAuxContainer_v1::vy
std::vector< float > vy
Definition: TrackParticleAuxContainer_v1.h:58
xAOD::TrackParticleAuxContainer_v1::eProbabilityComb
std::vector< float > eProbabilityComb
Definition: TrackParticleAuxContainer_v1.h:144
python.xAODType.dummy
dummy
Definition: xAODType.py:4
SG::IConstAuxStore::getDecoration
virtual void * getDecoration(auxid_t auxid, size_t size, size_t capacity)=0
Return the data vector for one aux data decoration item.
xAOD::TrackParticleAuxContainer_v1::numberOfTriggerEtaHoleLayers
std::vector< uint8_t > numberOfTriggerEtaHoleLayers
Definition: TrackParticleAuxContainer_v1.h:140
xAOD::TrackParticleAuxContainer_v1::parameterPosition
std::vector< std::vector< uint8_t > > parameterPosition
Definition: TrackParticleAuxContainer_v1.h:75
SG::AuxTypeRegistry::getVecType
const std::type_info * getVecType(SG::auxid_t auxid) const
Return the type of the STL vector used to hold an aux data item.
Definition: AuxTypeRegistry.cxx:313
xAOD::IOStats::instance
static IOStats & instance()
Singleton object accessor.
Definition: IOStats.cxx:11
xAOD::TrackParticleAuxContainer_v1::numberOfSCTDeadSensors
std::vector< uint8_t > numberOfSCTDeadSensors
Definition: TrackParticleAuxContainer_v1.h:124
xAOD::TrackParticleAuxContainer_v1::phi
std::vector< float > phi
Definition: TrackParticleAuxContainer_v1.h:51
xAOD::TrackParticleAuxContainer_v1::trackParameterCovarianceMatrices
std::vector< std::vector< float > > trackParameterCovarianceMatrices
Definition: TrackParticleAuxContainer_v1.h:74
xAOD::TrackParticleAuxContainer_v1::chiSquared
std::vector< float > chiSquared
Definition: TrackParticleAuxContainer_v1.h:79
xAOD::TrackParticleAuxContainer_v1::numberOfPrecisionLayers
std::vector< uint8_t > numberOfPrecisionLayers
Definition: TrackParticleAuxContainer_v1.h:135
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
xAOD::TrackParticleAuxContainer_v1::definingParametersCovMatrix
std::vector< std::vector< float > > definingParametersCovMatrix
Definition: TrackParticleAuxContainer_v1.h:55
xAOD::TrackParticleAuxContainer_v1::numberOfPixelHoles
std::vector< uint8_t > numberOfPixelHoles
Definition: TrackParticleAuxContainer_v1.h:112
xAOD::TrackParticleAuxContainer_v1::numberOfPixelHits
std::vector< uint8_t > numberOfPixelHits
Definition: TrackParticleAuxContainer_v1.h:110
xAOD::TrackParticleAuxContainer_v1::expectBLayerHit
std::vector< uint8_t > expectBLayerHit
Definition: TrackParticleAuxContainer_v1.h:99
xAOD::TrackParticleAuxContainer_v1::numberOfPixelSpoiltHits
std::vector< uint8_t > numberOfPixelSpoiltHits
Definition: TrackParticleAuxContainer_v1.h:118
xAOD::AuxContainerBase::getWritableAuxIDs
virtual const auxid_set_t & getWritableAuxIDs() const override
Return a set of writable data identifiers.
Definition: AuxContainerBase.cxx:424
xAOD::TrackParticleAuxContainer_v1::numberOfSCTOutliers
std::vector< uint8_t > numberOfSCTOutliers
Definition: TrackParticleAuxContainer_v1.h:120
SG::IAuxStoreIO::getIOData
virtual const void * getIOData(SG::auxid_t auxid) const =0
Return a pointer to the data to be stored for one aux data item.
xAOD::AuxContainerBase::getData
virtual const void * getData(auxid_t auxid) const override
Get a pointer to a given array.
Definition: AuxContainerBase.cxx:227
xAOD::TrackParticleAuxContainer_v1::qOverP
std::vector< float > qOverP
Definition: TrackParticleAuxContainer_v1.h:53
xAOD::TrackParticleAuxContainer_v1::vz
std::vector< float > vz
Definition: TrackParticleAuxContainer_v1.h:59
xAOD::TrackParticleAuxContainer_v1::numberOfBLayerOutliers
std::vector< uint8_t > numberOfBLayerOutliers
Definition: TrackParticleAuxContainer_v1.h:96
xAOD::TrackParticleAuxContainer_v1::numberOfSCTHoles
std::vector< uint8_t > numberOfSCTHoles
Definition: TrackParticleAuxContainer_v1.h:121
xAOD::ReadStats::readBranch
void readBranch(const std::string &prefix, SG::auxid_t auxid)
Function incrementing the read counter on a specific branch.
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
xAOD::AuxContainerBase::auxid_t
SG::auxid_t auxid_t
The aux ID type definition.
Definition: AuxContainerBase.h:63
python.PyAthena.v
v
Definition: PyAthena.py:157
xAOD::TrackParticleAuxContainer_v1::numberOfTRTXenonHits
std::vector< uint8_t > numberOfTRTXenonHits
Definition: TrackParticleAuxContainer_v1.h:133
xAOD::AuxContainerBase::ATLAS_THREAD_SAFE
CxxUtils::CachedPointer< std::pmr::memory_resource > m_memResource ATLAS_THREAD_SAFE
Memory resource to use for this container.
Definition: AuxContainerBase.h:238
xAOD::TrackParticleAuxContainer_v1::numberOfTriggerEtaLayers
std::vector< uint8_t > numberOfTriggerEtaLayers
Definition: TrackParticleAuxContainer_v1.h:139
SG::IAuxTypeVector::insertMove
virtual bool insertMove(size_t pos, void *beg, void *end, IAuxStore &srcStore)=0
Insert elements into the vector via move semantics.
xAOD::TrackParticleAuxContainer_v1::numberOfTRTHighThresholdHits
std::vector< uint8_t > numberOfTRTHighThresholdHits
Definition: TrackParticleAuxContainer_v1.h:129
SG::IAuxStore::getData
virtual void * getData(auxid_t auxid, size_t size, size_t capacity)=0
Return the data vector for one aux data item.
xAOD::TrackParticleAuxContainer_v1::patternRecoInfo
std::vector< uint64_t > patternRecoInfo
Definition: TrackParticleAuxContainer_v1.h:88
xAOD::TrackParticleAuxContainer_v1::numberOfPixelOutliers
std::vector< uint8_t > numberOfPixelOutliers
Definition: TrackParticleAuxContainer_v1.h:111
xAOD::AuxContainerBase::m_locked
bool m_locked
Has the container been locked?
Definition: AuxContainerBase.h:227
SG::IAuxTypeVector
Abstract interface for manipulating vectors of arbitrary types.
Definition: IAuxTypeVector.h:40
xAOD::AuxContainerBase::m_ownsStore
bool m_ownsStore
Flag deciding if the object owns the dynamic store or not.
Definition: AuxContainerBase.h:225
SG::IConstAuxStore::lock
virtual void lock()=0
Lock the container.
xAOD::AuxContainerBase::m_storeIO
SG::IAuxStoreIO * m_storeIO
The IO interface to the internal auxiliary store.
Definition: AuxContainerBase.h:223
xAOD::AuxContainerBase::AuxContainerBase
AuxContainerBase(bool allowDynamicVars=true)
Default constructor.
Definition: AuxContainerBase.cxx:28
xAOD::TrackParticleAuxContainer_v1::numberOfContribPixelLayers
std::vector< uint8_t > numberOfContribPixelLayers
Definition: TrackParticleAuxContainer_v1.h:94
SG::IAuxStore::resize
virtual bool resize(size_t sz)=0
Change the size of all aux data vectors.
xAOD::TrackParticleAuxContainer_v1::numberOfTRTTubeHits
std::vector< uint8_t > numberOfTRTTubeHits
Definition: TrackParticleAuxContainer_v1.h:132
SG::auxid_set_t
A set of aux data identifiers.
Definition: AuxTypes.h:47
xAOD::TrackParticleAuxContainer_v1::parameterPY
std::vector< std::vector< float > > parameterPY
Definition: TrackParticleAuxContainer_v1.h:70
calibdata.copy
bool copy
Definition: calibdata.py:27
xAOD::TrackParticleAuxContainer_v1::numberOfGangedPixels
std::vector< uint8_t > numberOfGangedPixels
Definition: TrackParticleAuxContainer_v1.h:115
SG::IConstAuxStore::isDecoration
virtual bool isDecoration(auxid_t auxid) const =0
Test if a particular variable is tagged as a decoration.
xAOD::TrackParticleAuxContainer_v1::numberOfTRTHoles
std::vector< uint8_t > numberOfTRTHoles
Definition: TrackParticleAuxContainer_v1.h:128
xAOD::TrackParticleAuxContainer_v1::numberOfSCTDoubleHoles
std::vector< uint8_t > numberOfSCTDoubleHoles
Definition: TrackParticleAuxContainer_v1.h:122
xAOD::TrackParticleAuxContainer_v1::numberOfBLayerSharedHits
std::vector< uint8_t > numberOfBLayerSharedHits
Definition: TrackParticleAuxContainer_v1.h:97
xAOD::TrackParticleAuxContainer_v1::parameterZ
std::vector< std::vector< float > > parameterZ
Definition: TrackParticleAuxContainer_v1.h:68
SG::IAuxStoreHolder::AST_ObjectStore
@ AST_ObjectStore
The store describes a single object.
Definition: IAuxStoreHolder.h:67
xAOD::TrackParticleAuxContainer_v1::z0
std::vector< float > z0
Definition: TrackParticleAuxContainer_v1.h:50
xAOD::TrackParticleAuxContainer_v1::theta
std::vector< float > theta
Definition: TrackParticleAuxContainer_v1.h:52
xAOD::TrackParticleAuxContainer_v1::parameterPZ
std::vector< std::vector< float > > parameterPZ
Definition: TrackParticleAuxContainer_v1.h:71
SG::IConstAuxStore::getAuxIDs
virtual const SG::auxid_set_t & getAuxIDs() const =0
Return a set of identifiers for existing data items in this store.
SG::IAuxTypeVector::toPtr
virtual void * toPtr()=0
Return a pointer to the start of the vector's data.
xAOD::TrackParticleAuxContainer_v1::numberOfPrecisionHoleLayers
std::vector< uint8_t > numberOfPrecisionHoleLayers
Definition: TrackParticleAuxContainer_v1.h:136
xAOD::TrackParticleAuxContainer_v1::numberOfTRTOutliers
std::vector< uint8_t > numberOfTRTOutliers
Definition: TrackParticleAuxContainer_v1.h:127
xAOD::TrackParticleAuxContainer_v1::numberOfPixelSharedHits
std::vector< uint8_t > numberOfPixelSharedHits
Definition: TrackParticleAuxContainer_v1.h:113
SG::IAuxStore::reserve
virtual void reserve(size_t sz)=0
Change the capacity of all aux data vectors.
SG::IAuxStoreHolder::AST_ContainerStore
@ AST_ContainerStore
The store describes a container.
Definition: IAuxStoreHolder.h:68
xAOD::TrackParticleAuxContainer_v1::numberOfSCTHits
std::vector< uint8_t > numberOfSCTHits
Definition: TrackParticleAuxContainer_v1.h:119