ATLAS Offline Software
Loading...
Searching...
No Matches
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...
 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...
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 std::regex rx1 (R"(_v[0-9]+$)")
std::string formatSGkey (const std::string &prefix, const std::string &containername, const std::string &label)
 declaration of formatting function.
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 = std::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}
#define ATLAS_THREAD_SAFE
std::string label(const std::string &format, int i)
Definition label.h:19
const std::regex rx1(R"(_v[0-9]+$)")

◆ 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 std::regex HLTNavDetails::rx1 ( R"(_v[0-9]+$)" )