Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Functions
HLTNavDetails Namespace Reference

Classes

struct  FillSize
 
class  Holder
 
class  HolderImp
 This is an implementation class for all Holders It is templated with 2 arguments STORED which is type of stored objects Another type is CONTAINER for that type. More...
 
class  IHolder
 
class  ITypeProxy
 Interface to the TypeProxy<...> objects created at runtime. More...
 
struct  set_link
 Helper struct to determine if persistable type is a DataLink<CONTAINER> (in case STORED and CONTAINER are the same) of rather an ElementLink<CONTAINER> in case STORED is the element type of CONTAINER. More...
 
struct  set_link< STORED, CONTAINER, false >
 
struct  set_link< STORED, CONTAINER, true >
 
class  TrigAuxStore
 Aux store instance used to hold dynamic variables deserialized from the bytestream. More...
 
class  TypelessAuxProxy
 
class  TypeProxy
 Type specific implementation of ITypeProxy. More...
 

Functions

const boost::regex rx1 ("_v[0-9]+$")
 
std::string formatSGkey (const std::string &prefix, const std::string &containername, const std::string &label)
 declaration of formatting function. More...
 
MsgStream & operator<< (MsgStream &m, const HLTNavDetails::IHolder &nav)
 
template<class T >
MsgStream & operator<< (MsgStream &m, const HLTNavDetails::Holder< T > &nav)
 
template<class T , class C >
MsgStream & operator<< (MsgStream &m, const HLTNavDetails::HolderImp< T, C > &nav)
 

Function Documentation

◆ formatSGkey()

std::string HLTNavDetails::formatSGkey ( const std::string &  prefix,
const std::string &  containername,
const std::string &  label 
)

declaration of formatting function.

standalone method implementing trigger core software naming scheme

Definition at line 122 of file Holder.cxx.

122  {
123  // Memoize already used keys
124  static tbb::concurrent_unordered_map<std::string,std::string> memo ATLAS_THREAD_SAFE;
125  const std::string key = prefix+containername+label;
126 
127  const auto itr = memo.find(key);
128  if (itr!=memo.end()) return itr->second;
129 
130  // Remove version
131  std::string ret = boost::regex_replace(containername,rx1,std::string(""));
132 
133  // Replace :: with __
134  size_t pos = ret.find("::");
135  if (pos!=std::string::npos) ret.replace(pos,2,"__");
136 
137  // Add prefix and label
138  ret = prefix + "_" + ret;
139  if (label == "Aux.")
140  ret += label;
141  else if (!label.empty())
142  ret += ("_" + label);
143 
144  memo.insert({key, ret});
145  return ret;
146 }

◆ operator<<() [1/3]

template<class T >
MsgStream& HLTNavDetails::operator<< ( MsgStream &  m,
const HLTNavDetails::Holder< T > &  nav 
)

◆ operator<<() [2/3]

template<class T , class C >
MsgStream& HLTNavDetails::operator<< ( MsgStream &  m,
const HLTNavDetails::HolderImp< T, C > &  nav 
)

◆ operator<<() [3/3]

MsgStream & HLTNavDetails::operator<< ( MsgStream &  m,
const HLTNavDetails::IHolder nav 
)

Definition at line 112 of file Holder.cxx.

112  {
113  h.print (m);
114  return m;
115 }

◆ rx1()

const boost::regex HLTNavDetails::rx1 ( "_v+$"  [0-9])
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
h
add-xsec-uncert-quadrature-N.label
label
Definition: add-xsec-uncert-quadrature-N.py:104
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
ATLAS_THREAD_SAFE
#define ATLAS_THREAD_SAFE
Definition: checker_macros.h:211
HLTNavDetails::rx1
const boost::regex rx1("_v[0-9]+$")
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37