Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Namespaces | Macros | Functions
Control/xAODRootAccess/Root/Utils.cxx File Reference
#include <functional>
#include <regex>
#include <TError.h>
#include "AthContainers/tools/error.h"
#include "xAODRootAccess/tools/Message.h"
#include "xAODRootAccess/tools/Utils.h"
Include dependency graph for Control/xAODRootAccess/Root/Utils.cxx:

Go to the source code of this file.

Namespaces

 xAOD
 ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
 
 xAOD::Utils
 

Macros

#define TYPE_CHECK_INSTANTIATE(MACRO)
 Macro instantiating another macro for all usual "primitive" types. More...
 
#define GETTYPEINFO_SPECIALIZE(TYPE)
 Macro returning the type info for a given type name. More...
 
#define ISPRIMITIVETYPE_SPECIALIZE(TYPE)
 

Functions

SG::sgkey_t xAOD::Utils::hash (const std::string &name)
 This function provides a hashed version of the key (branch) names used in the xAOD file, similar to how Athena saves hashed numbers in persistent ElementLinks. More...
 
std::string xAOD::Utils::dynBranchPrefix (const std::string &key)
 This function is used to figure out what to name dynamic auxiliary branches coming from a container called key. More...
 
std::string xAOD::Utils::dynFieldPrefix (const std::string &key)
 This function is used to figure out what to name dynamic auxiliary field coming from a container called key. More...
 
const std::type_info & xAOD::Utils::getTypeInfo (EDataType type)
 This function is used when reading a primitive branch from an input file without the user explicitly asking for it. More...
 
const std::type_info & xAOD::Utils::getTypeInfo (std::string_view typeName)
 Get the type info of a primitive variable, in an RNTuple. More...
 
bool xAOD::Utils::isPrimitiveType (std::string_view typeName)
 Check if the type name describes a primitive type. More...
 
char xAOD::Utils::rootType (char typeidType)
 This function is used internally in the code when creating primitive dynamic auxiliary branches. More...
 
std::string xAOD::Utils::getTypeName (const std::type_info &ti)
 This function is necessary in order to create type names that ROOT can understand. More...
 
std::string xAOD::Utils::getFirstBranchMatch (TTree *tree, const std::string &pre)
 This function is used to search for a branch in a TTree that contains a given substring. More...
 

Macro Definition Documentation

◆ GETTYPEINFO_SPECIALIZE

#define GETTYPEINFO_SPECIALIZE (   TYPE)
Value:
if(typeName == #TYPE) { \
return typeid(TYPE); \
}

Macro returning the type info for a given type name.

Definition at line 259 of file Control/xAODRootAccess/Root/Utils.cxx.

◆ ISPRIMITIVETYPE_SPECIALIZE

#define ISPRIMITIVETYPE_SPECIALIZE (   TYPE)
Value:
if(typeName == #TYPE) { \
return true; \
}

Definition at line 274 of file Control/xAODRootAccess/Root/Utils.cxx.

◆ TYPE_CHECK_INSTANTIATE

#define TYPE_CHECK_INSTANTIATE (   MACRO)
Value:
MACRO(std::int8_t) \
MACRO(std::uint8_t) \
MACRO(std::int16_t) \
MACRO(std::uint16_t) \
MACRO(std::int32_t) \
MACRO(std::uint32_t) \
MACRO(std::int64_t) \
MACRO(std::uint64_t) \
MACRO(float) \
MACRO(double)

Macro instantiating another macro for all usual "primitive" types.

Definition at line 246 of file Control/xAODRootAccess/Root/Utils.cxx.

xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
xAOD::int16_t
setScaleOne setStatusOne setSaturated int16_t
Definition: gFexGlobalRoI_v1.cxx:55
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
TYPE
#define TYPE(CODE, TYP, IOTYP)
ReadCalibFromCool.typeName
typeName
Definition: ReadCalibFromCool.py:477