ATLAS Offline Software
Functions
SGdebug Namespace Reference

Functions

std::string aux_var_name (SG::auxid_t id)
 Return the name corresponding to a given aux id. More...
 
void print_aux_var_name (SG::auxid_t id)
 Print the name corresponding to a given aux id. More...
 
void print_aux_vars (const SG::auxid_set_t &auxids)
 Print the list of aux variables in a set. More...
 
void print_aux_vars (const SG::IConstAuxStore &store)
 Print the list of aux variables handled by a store. More...
 
void print_aux_vars (const SG::IConstAuxStore *store)
 Print the list of aux variables handled by a store. More...
 
void print_aux_vars (const SG::AuxVectorData &vec)
 Print the list of aux variables associated with a container. More...
 
void print_aux_vars (const SG::AuxVectorData *vec)
 Print the list of aux variables associated with a container. More...
 
void print_aux_vars (const SG::AuxElement &elt)
 Print the list of aux variables associated with an element. More...
 
void print_aux_vars (const SG::AuxElement *elt)
 Print the list of aux variables associated with an element. More...
 
std::string aux_var_as_string (SG::auxid_t auxid, const void *p, size_t i)
 Convert an aux variable to a string. More...
 
void dump_aux_vars (std::ostream &os, const SG::IConstAuxStore &store, size_t i)
 Dump aux variables from a store for a single element. More...
 
void dump_aux_vars (const SG::IConstAuxStore &store, size_t i)
 Dump aux variables from a store for a single element (to cout). More...
 
void dump_aux_vars (const SG::IConstAuxStore *store, size_t i)
 Dump aux variables from a store for a single element. More...
 
void dump_aux_vars (const SG::IConstAuxStore &store)
 Dump aux variables from a store for all elements. More...
 
void dump_aux_vars (const SG::IConstAuxStore *store)
 Dump aux variables from a store for all elements. More...
 
void dump_aux_vars (const SG::AuxVectorData &vec, size_t i)
 Dump aux variables from a vector for a single element. More...
 
void dump_aux_vars (const SG::AuxVectorData *vec, size_t i)
 Dump aux variables from a vector for a single element. More...
 
void dump_aux_vars (const SG::AuxVectorData &vec)
 Dump aux variables from a vector for all elements. More...
 
void dump_aux_vars (const SG::AuxVectorData *vec)
 Dump aux variables from a vector for all elements. More...
 
void dump_aux_vars (const SG::AuxElement &elt)
 Dump aux variables for an element. More...
 
void dump_aux_vars (const SG::AuxElement *elt)
 Dump aux variables for an element. More...
 

Function Documentation

◆ aux_var_as_string()

std::string SGdebug::aux_var_as_string ( SG::auxid_t  auxid,
const void *  p,
size_t  i 
)

Convert an aux variable to a string.

Parameters
auxidThe id of the variable.
pPointer to the location of the variable.
iIndex of the element being dumped.

Definition at line 238 of file Control/AthContainers/Root/debug.cxx.

239 {
240  if (!p) {
241  return "(null)";
242  }
243 
244  std::ostringstream os;
245 
247  const std::type_info* ti = r.getType(auxid);
248 #define CONVERT(T) if (ti == &typeid(T)) convert (os, *reinterpret_cast<const T*>(p)); else
249 #define CONVERT1(T) CONVERT(T) CONVERT(std::vector<T>)
250  CONVERT1 (int)
251  CONVERT1 (unsigned int)
252  CONVERT1 (short)
253  CONVERT1 (unsigned short)
254  CONVERT1 (char)
255  CONVERT1 (unsigned char)
256  CONVERT1 (long)
257  CONVERT1 (unsigned long)
258  CONVERT1 (long long)
259  CONVERT1 (unsigned long long)
260  CONVERT1 (float)
261  CONVERT1 (double)
262  CONVERT1 (bool)
263  CONVERT1 (std::string)
264  //else
265  {
266  std::string tiname = AthContainers_detail::typeinfoName(*ti);
267  if (tiname.starts_with ("SG::JaggedVecElt<")) {
268  convert (os, *reinterpret_cast<const SG::JaggedVecEltBase*>(p), i);
269  }
270  else if (tiname.starts_with ("DataLink<")) {
271  convert (os, *reinterpret_cast<const DataLinkBase*>(p));
272  }
273  else if (tiname.starts_with ("SG::PackedLink<")) {
274  convert (os, *reinterpret_cast<const SG::PackedLinkBase*>(p));
275  }
276  else if (tiname.starts_with ("std::vector<SG::PackedLink<")) {
277  convert (os, *reinterpret_cast<const std::vector<SG::PackedLinkBase>*>(p));
278  }
279  else {
280  os << "<??? " << tiname << ">";
281  }
282  }
283  return os.str();
284 }

◆ aux_var_name()

std::string SGdebug::aux_var_name ( SG::auxid_t  id)

Return the name corresponding to a given aux id.

Parameters
idThe aux id to look up.

Definition at line 34 of file Control/AthContainers/Root/debug.cxx.

35 {
37  return reg.getClassName(id) + "::" + reg.getName(id);
38 }

◆ dump_aux_vars() [1/11]

void SGdebug::dump_aux_vars ( const SG::AuxElement elt)

Dump aux variables for an element.

Parameters
eltThe element from which to dump.

Definition at line 429 of file Control/AthContainers/Root/debug.cxx.

430 {
431  const SG::AuxVectorData* cont = elt.container();
432  if (cont)
433  dump_aux_vars (*cont, elt.index());
434 }

◆ dump_aux_vars() [2/11]

void SGdebug::dump_aux_vars ( const SG::AuxElement elt)

Dump aux variables for an element.

Parameters
eltThe element from which to dump.

Definition at line 441 of file Control/AthContainers/Root/debug.cxx.

442 {
443  dump_aux_vars (*elt);
444 }

◆ dump_aux_vars() [3/11]

void SGdebug::dump_aux_vars ( const SG::AuxVectorData vec)

Dump aux variables from a vector for all elements.

Parameters
vecThe vector from which to dump.

Definition at line 407 of file Control/AthContainers/Root/debug.cxx.

408 {
409  const SG::IConstAuxStore* store = vec.getConstStore();
410  if (store)
411  dump_aux_vars (*store);
412 }

◆ dump_aux_vars() [4/11]

void SGdebug::dump_aux_vars ( const SG::AuxVectorData vec,
size_t  i 
)

Dump aux variables from a vector for a single element.

Parameters
vecThe vector from which to dump.
iThe index of the element to dump.

Definition at line 384 of file Control/AthContainers/Root/debug.cxx.

385 {
386  const SG::IConstAuxStore* store = vec.getConstStore();
387  if (store)
388  dump_aux_vars (*store, i);
389 }

◆ dump_aux_vars() [5/11]

void SGdebug::dump_aux_vars ( const SG::AuxVectorData vec)

Dump aux variables from a vector for all elements.

Parameters
vecThe vector from which to dump.

Definition at line 419 of file Control/AthContainers/Root/debug.cxx.

420 {
421  dump_aux_vars (*vec);
422 }

◆ dump_aux_vars() [6/11]

void SGdebug::dump_aux_vars ( const SG::AuxVectorData vec,
size_t  i 
)

Dump aux variables from a vector for a single element.

Parameters
vecThe vector from which to dump.
iThe index of the element to dump.

Definition at line 397 of file Control/AthContainers/Root/debug.cxx.

398 {
399  dump_aux_vars (*vec, i);
400 }

◆ dump_aux_vars() [7/11]

void SGdebug::dump_aux_vars ( const SG::IConstAuxStore store)

Dump aux variables from a store for all elements.

Parameters
storeThe store from which to dump.

Definition at line 359 of file Control/AthContainers/Root/debug.cxx.

360 {
361  size_t sz = store.size();
362  for (size_t i = 0; i < sz; i++) {
363  std::cout << "=== Element " << i << "\n";
364  dump_aux_vars (store, i);
365  }
366 }

◆ dump_aux_vars() [8/11]

void SGdebug::dump_aux_vars ( const SG::IConstAuxStore store,
size_t  i 
)

Dump aux variables from a store for a single element (to cout).

Parameters
storeThe store from which to dump.
iThe index of the element to dump.

Definition at line 338 of file Control/AthContainers/Root/debug.cxx.

339 {
340  dump_aux_vars (std::cout, store, i);
341 }

◆ dump_aux_vars() [9/11]

void SGdebug::dump_aux_vars ( const SG::IConstAuxStore store)

Dump aux variables from a store for all elements.

Parameters
storeThe store from which to dump.

Definition at line 373 of file Control/AthContainers/Root/debug.cxx.

374 {
375  dump_aux_vars (*store);
376 }

◆ dump_aux_vars() [10/11]

void SGdebug::dump_aux_vars ( const SG::IConstAuxStore store,
size_t  i 
)

Dump aux variables from a store for a single element.

Parameters
storeThe store from which to dump.
iThe index of the element to dump.

Definition at line 349 of file Control/AthContainers/Root/debug.cxx.

350 {
351  dump_aux_vars (*store, i);
352 }

◆ dump_aux_vars() [11/11]

void SGdebug::dump_aux_vars ( std::ostream &  os,
const SG::IConstAuxStore store,
size_t  i 
)

Dump aux variables from a store for a single element.

Parameters
osThe stream to which to write.
storeThe store from which to dump.
iThe index of the element to dump.

Definition at line 293 of file Control/AthContainers/Root/debug.cxx.

294 {
295  if (i >= store.size()) return;
297  const SG::auxid_set_t& ids = store.getAuxIDs();
298  std::vector<AuxVarSort> vars (ids.begin(), ids.end());
299  std::sort (vars.begin(), vars.end());
300  for (const AuxVarSort& v : vars) {
301  if (reg.isLinked (v.id)) continue;
302  const void* pbeg = store.getData (v.id);
303  size_t eltsz = reg.getEltSize (v.id);
304  const char* p = reinterpret_cast<const char*>(pbeg) + eltsz*i;
305  os << v.name << " " << aux_var_as_string (v.id, p, i) << "\n";
306  SG::auxid_t linked_id = reg.linkedVariable (v.id);
307  if (linked_id != SG::null_auxid) {
308  os << " linked: " << aux_var_name (linked_id) << " ";
309  const SG::IAuxTypeVector* lv = store.linkedVector (v.id);
310  if (!lv) {
311  os << "(missing linkedVector)\n";
312  continue;
313  }
314  size_t sz = lv->size();
315  const char* lbeg = reinterpret_cast<const char*>(lv->toPtr());
316  size_t leltsz = reg.getEltSize (linked_id);
317  os << "[";
318  bool first = true;
319  for (size_t j = 0; j < sz; j++) {
320  if (first)
321  first = false;
322  else
323  os << ", ";
324  const char* p = reinterpret_cast<const char*>(lbeg) + leltsz*j;
325  os << aux_var_as_string (linked_id, p, i);
326  }
327  os << "]\n";
328  }
329  }
330 }

◆ print_aux_var_name()

void SGdebug::print_aux_var_name ( SG::auxid_t  id)

Print the name corresponding to a given aux id.

Parameters
idThe aux id to print.

Definition at line 45 of file Control/AthContainers/Root/debug.cxx.

46 {
47  std::cout << aux_var_name(id) << "\n";
48 }

◆ print_aux_vars() [1/7]

void SGdebug::print_aux_vars ( const SG::AuxElement elt)

Print the list of aux variables associated with an element.

Parameters
eltThe element to dump.

Definition at line 128 of file Control/AthContainers/Root/debug.cxx.

129 {
130  print_aux_vars (elt.getAuxIDs());
131 }

◆ print_aux_vars() [2/7]

void SGdebug::print_aux_vars ( const SG::AuxElement elt)

Print the list of aux variables associated with an element.

Parameters
eltThe element to dump.

Definition at line 138 of file Control/AthContainers/Root/debug.cxx.

139 {
140  print_aux_vars (*elt);
141 }

◆ print_aux_vars() [3/7]

void SGdebug::print_aux_vars ( const SG::auxid_set_t auxids)

Print the list of aux variables in a set.

Parameters
auxidsThe set to print.

Definition at line 60 of file Control/AthContainers/Root/debug.cxx.

61 {
63  std::vector<SG::auxid_t> ids (auxids.begin(), auxids.end());
64  std::sort (ids.begin(), ids.end());
65 
66  for (SG::auxid_t id : ids) {
67  std::cout << id << " "
68  << reg.getClassName(id) << "::" << reg.getName(id) << " "
69  << "[" << reg.getTypeName(id);
70 
71  SG::AuxVarFlags flags = reg.getFlags(id);
73  std::cout << " (atomic)";
74  }
76  std::cout << " (linked)";
77  }
78 
79  std::cout << "]\n";
80  }
81 }

◆ print_aux_vars() [4/7]

void SGdebug::print_aux_vars ( const SG::AuxVectorData vec)

Print the list of aux variables associated with a container.

Parameters
vecThe container to dump.

Definition at line 108 of file Control/AthContainers/Root/debug.cxx.

109 {
110  print_aux_vars (vec.getAuxIDs());
111 }

◆ print_aux_vars() [5/7]

void SGdebug::print_aux_vars ( const SG::AuxVectorData vec)

Print the list of aux variables associated with a container.

Parameters
vecThe container to dump.

Definition at line 118 of file Control/AthContainers/Root/debug.cxx.

119 {
120  print_aux_vars (*vec);
121 }

◆ print_aux_vars() [6/7]

void SGdebug::print_aux_vars ( const SG::IConstAuxStore store)

Print the list of aux variables handled by a store.

Parameters
storeThe store to dump.

Definition at line 88 of file Control/AthContainers/Root/debug.cxx.

89 {
90  print_aux_vars (store.getAuxIDs());
91 }

◆ print_aux_vars() [7/7]

void SGdebug::print_aux_vars ( const SG::IConstAuxStore store)

Print the list of aux variables handled by a store.

Parameters
storeThe store to dump.

Definition at line 98 of file Control/AthContainers/Root/debug.cxx.

99 {
101 }
beamspotman.r
def r
Definition: beamspotman.py:676
store
StoreGateSvc * store
Definition: fbtTestBasics.cxx:71
fitman.sz
sz
Definition: fitman.py:527
SG::AuxTypeRegistry::instance
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Definition: AuxTypeRegistry.cxx:640
AthenaPoolTestRead.flags
flags
Definition: AthenaPoolTestRead.py:8
SG::AuxTypeRegistry::getName
std::string getName(SG::auxid_t auxid) const
Return the name of an aux data item.
Definition: AuxTypeRegistry.cxx:882
CxxUtils::ConcurrentBitset::end
const_iterator end() const
Return an end iterator.
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
SGdebug::print_aux_vars
void print_aux_vars(const SG::auxid_set_t &auxids)
Print the list of aux variables in a set.
Definition: Control/AthContainers/Root/debug.cxx:60
SG::AuxTypeRegistry
Handle mappings between names and auxid_t.
Definition: AuxTypeRegistry.h:61
SG::JaggedVecEltBase
Describe one element of a jagged vector (base class).
Definition: JaggedVecImpl.h:52
SG::Linked
@ Linked
Mark that this variable is linked to another one.
Definition: AuxTypes.h:77
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition: AuxTypes.h:27
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
SG::AuxTypeRegistry::getTypeName
std::string getTypeName(SG::auxid_t auxid) const
Return the type name of an aux data item.
Definition: AuxTypeRegistry.cxx:924
lumiFormat.i
int i
Definition: lumiFormat.py:85
SG::AuxTypeRegistry::getFlags
Flags getFlags(SG::auxid_t auxid) const
Return flags associated with an auxiliary variable.
Definition: AuxTypeRegistry.cxx:991
SG::AuxTypeRegistry::linkedVariable
SG::auxid_t linkedVariable(SG::auxid_t auxid) const
Return the auxid if the linked variable, if there is one.
Definition: AuxTypeRegistry.cxx:1007
SG::AuxTypeRegistry::getEltSize
size_t getEltSize(SG::auxid_t auxid) const
Return size of an element in the STL vector.
Definition: AuxTypeRegistry.cxx:978
SG::AuxElement::getAuxIDs
const SG::auxid_set_t & getAuxIDs() const
Return a set of identifiers for existing data items for this object.
Definition: AuxElement.cxx:335
SG::AuxElement::index
size_t index() const
Return the index of this element within its container.
SG::AuxVarFlags
AuxVarFlags
Additional flags to qualify an auxiliary variable.
Definition: AuxTypes.h:58
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
SG::AuxTypeRegistry::getClassName
std::string getClassName(SG::auxid_t auxid) const
Return the class name associated with an aux data item (may be blank).
Definition: AuxTypeRegistry.cxx:896
CxxUtils::ConcurrentBitset::begin
const_iterator begin() const
Return a begin iterator.
SGdebug::dump_aux_vars
void dump_aux_vars(std::ostream &os, const SG::IConstAuxStore &store, size_t i)
Dump aux variables from a store for a single element.
Definition: Control/AthContainers/Root/debug.cxx:293
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
SG::AuxTypeRegistry::isLinked
bool isLinked(SG::auxid_t auxid) const
Test whether this is a linked variable.
TMVAToMVAUtils::convert
std::unique_ptr< MVAUtils::BDT > convert(TMVA::MethodBDT *bdt, bool isRegression=true, bool useYesNoLeaf=false)
Definition: TMVAToMVAUtils.h:114
SG::Atomic
@ Atomic
Mark that this variable should only be accessed atomically.
Definition: AuxTypes.h:70
python.PyAthena.v
v
Definition: PyAthena.py:154
std::sort
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
Definition: DVL_algorithms.h:623
SG::PackedLinkBase
A packed version of ElementLink.
Definition: PackedLinkImpl.h:47
CONVERT1
#define CONVERT1(T)
DeMoScan.first
bool first
Definition: DeMoScan.py:536
SG::IAuxTypeVector
Abstract interface for manipulating vectors of arbitrary types.
Definition: IAuxTypeVector.h:42
SG::auxid_set_t
A set of aux data identifiers.
Definition: AuxTypes.h:47
SG::AuxVectorData
Manage lookup of vectors of auxiliary data.
Definition: AuxVectorData.h:168
SG::AuxElement::container
const SG::AuxVectorData * container() const
Return the container holding this element.
SG::IConstAuxStore
Interface for const operations on an auxiliary store.
Definition: IConstAuxStore.h:64
SG::IAuxTypeVector::size
virtual size_t size() const =0
Return the size of the vector.
SGdebug::aux_var_name
std::string aux_var_name(SG::auxid_t id)
Return the name corresponding to a given aux id.
Definition: Control/AthContainers/Root/debug.cxx:34
DataLinkBase
Type-independent part of DataLink; holds the persistent state.
Definition: AthLinks/DataLinkBase.h:37
SGdebug::aux_var_as_string
std::string aux_var_as_string(SG::auxid_t auxid, const void *p, size_t i)
Convert an aux variable to a string.
Definition: Control/AthContainers/Root/debug.cxx:238
SG::IAuxTypeVector::toPtr
virtual void * toPtr()=0
Return a pointer to the start of the vector's data.