ATLAS Offline Software
Classes | Typedefs | Functions
xAOD::Details Namespace Reference

Classes

class  IObjectManager
 Manager for EDM objects created by ROOT. More...
 

Typedefs

using IProxyDictBase = implements< IProxyDict >
 IProxyDict base class to use in a specific build environment More...
 

Functions

void forceTrackIndices NO_SANITIZE_UNDEFINED (SG::AuxVectorBase &vec)
 Helper function for calling SG::AuxVectorBase::initAuxVectorBase. More...
 
bool hasAuxStore (const TClass &cl)
 Helper function deciding if a given type "has an auxiliary store". More...
 
bool isAuxStore (const TClass &cl)
 Helper function deciding if a given type "is an auxiliary store". More...
 
bool isStandalone (const TClass &cl)
 Helper function deciding if a given type "is a standalone object". More...
 

Typedef Documentation

◆ IProxyDictBase

using xAOD::Details::IProxyDictBase = typedef implements<IProxyDict>

IProxyDict base class to use in a specific build environment

Definition at line 35 of file Event.h.

Function Documentation

◆ hasAuxStore()

bool xAOD::Details::hasAuxStore ( const TClass &  cl)

Helper function deciding if a given type "has an auxiliary store".

Parameters
clThe dictionary for the type being interrogated
Returns
true if the type has an auxiliary store, false otherwise

Definition at line 40 of file IOUtils.cxx.

40  {
41 
42  // The classes whose children can have an auxiliary store attached
43  // to them.
44  static const TClass* const dvClass =
45  ::TClass::GetClass(typeid(SG::AuxVectorBase));
46  static const TClass* const aeClass =
47  ::TClass::GetClass(typeid(SG::AuxElement));
48 
49  // Do the check.
50  return (cl.InheritsFrom(dvClass) || cl.InheritsFrom(aeClass));
51 }

◆ isAuxStore()

bool xAOD::Details::isAuxStore ( const TClass &  cl)

Helper function deciding if a given type "is an auxiliary store".

Parameters
clThe dictionary for the type being interrogated
Returns
true if the type is an auxiliary store, false otherwise

Definition at line 53 of file IOUtils.cxx.

53  {
54 
55  // The classes whose children are considered auxiliary stores.
56  static const TClass* const storeClass =
57  ::TClass::GetClass(typeid(SG::IConstAuxStore));
58  static const TClass* const storeHolderClass =
59  ::TClass::GetClass(typeid(SG::IAuxStoreHolder));
60 
61  // Do the check.
62  return (cl.InheritsFrom(storeClass) || cl.InheritsFrom(storeHolderClass));
63 }

◆ isStandalone()

bool xAOD::Details::isStandalone ( const TClass &  cl)

Helper function deciding if a given type "is a standalone object".

Parameters
clThe dictionary for the type being interrogated
Returns
true if the type is a standalone object, false otherwise

Definition at line 65 of file IOUtils.cxx.

65  {
66 
67  // The classes whose children can have an auxiliary store attached
68  // to them:
69  static const TClass* const dvClass =
70  TClass::GetClass(typeid(SG::AuxVectorBase));
71  static const TClass* const aeClass = TClass::GetClass(typeid(SG::AuxElement));
72 
73  // Do the check:
74  if (cl.InheritsFrom(aeClass)) {
75  return kTRUE;
76  } else if (cl.InheritsFrom(dvClass)) {
77  return kFALSE;
78  }
79 
80  // Some logic error happened.
81  throw std::runtime_error("A logic error happened in the code");
82 }

◆ NO_SANITIZE_UNDEFINED()

void forceTrackIndices xAOD::Details::NO_SANITIZE_UNDEFINED ( SG::AuxVectorBase vec)

Helper function for calling SG::AuxVectorBase::initAuxVectorBase.

Definition at line 30 of file IOUtils.cxx.

30  {
31 
32  // Treat the received object like it would be of type @c ForceTrackIndices
33  ForceTrackIndices& xvec = static_cast<ForceTrackIndices&>(vec);
34 
35  // Which would allow us to call a protected function on it.
36  xvec.initAuxVectorBase<DataVector<SG::IAuxElement> >(
38 }
SG::AuxElement
Base class for elements of a container that can have aux data.
Definition: AuxElement.h:483
SG::ALWAYS_TRACK_INDICES
@ ALWAYS_TRACK_INDICES
Always track indices, regardless of the setting of the ownership policy.
Definition: IndexTrackingPolicy.h:43
SG::AuxVectorBase
Manage index tracking and synchronization of auxiliary data.
Definition: AuxVectorBase.h:98
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
SG::OWN_ELEMENTS
@ OWN_ELEMENTS
this data object owns its elements
Definition: OwnershipPolicy.h:17
DataVector
Derived DataVector<T>.
Definition: DataVector.h:795
SG::IConstAuxStore
Interface for const operations on an auxiliary store.
Definition: IConstAuxStore.h:64
SG::IAuxStoreHolder
Interface for objects taking part in direct ROOT I/O.
Definition: IAuxStoreHolder.h:36
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:25