#include <xAODVariableProxyLoaders.h>
Definition at line 187 of file xAODVariableProxyLoaders.h.
◆ accessorCache_t
◆ VariableType
| Enumerator |
|---|
| VT_UNK | |
| VT_INT | |
| VT_DOUBLE | |
| VT_VECINT | |
| VT_VECDOUBLE | |
| VT_VECEMPTY | |
Definition at line 21 of file IProxyLoader.h.
◆ xAODVectorProxyLoader() [1/2]
| ExpressionParsing::xAODVectorProxyLoader::xAODVectorProxyLoader |
( |
| ) |
|
|
default |
◆ xAODVectorProxyLoader() [2/2]
| ExpressionParsing::xAODVectorProxyLoader::xAODVectorProxyLoader |
( |
const SG::AuxVectorData * | auxVectorData | ) |
|
◆ loadDoubleVariableFromString()
| double ExpressionParsing::xAODVectorProxyLoader::loadDoubleVariableFromString |
( |
const std::string & | varname | ) |
const |
|
virtual |
◆ loadIntVariableFromString()
| int ExpressionParsing::xAODVectorProxyLoader::loadIntVariableFromString |
( |
const std::string & | varname | ) |
const |
|
virtual |
◆ loadVecDoubleVariableFromString()
| std::vector< double > ExpressionParsing::xAODVectorProxyLoader::loadVecDoubleVariableFromString |
( |
const std::string & | varname | ) |
const |
|
virtual |
◆ loadVecIntVariableFromString()
| std::vector< int > ExpressionParsing::xAODVectorProxyLoader::loadVecIntVariableFromString |
( |
const std::string & | varname | ) |
const |
|
virtual |
◆ reset()
| void ExpressionParsing::xAODProxyLoader::reset |
( |
| ) |
|
|
virtualinherited |
◆ setData()
| void ExpressionParsing::xAODVectorProxyLoader::setData |
( |
const SG::AuxVectorData * | auxElement | ) |
|
◆ try_all_known_types()
template<class AUX>
| IProxyLoader::VariableType ExpressionParsing::xAODProxyLoader::try_all_known_types |
( |
const std::string & | varname, |
|
|
const AUX * | data, |
|
|
bool | isVector ) const |
|
protectedinherited |
Definition at line 220 of file xAODVariableProxyLoaders.cxx.
222 {
225 if (auxid != SG::null_auxid) {
226 const std::type_info *ti =
r.getType(auxid);
227
236 }
237
241 }
242 }
244 }
char data[hepevt_bytes_allocation_ATLAS]
bool try_type(const std::string &varname, const std::type_info *ti, const AUX *data) const
static AuxTypeRegistry & instance()
Return the singleton registry instance.
size_t auxid_t
Identifier for a particular aux data item.
◆ try_type()
template<class
TYPE, class AUX>
| bool ExpressionParsing::xAODProxyLoader::try_type |
( |
const std::string & | varname, |
|
|
const std::type_info * | ti, |
|
|
const AUX * | data ) const |
|
protectedinherited |
Definition at line 203 of file xAODVariableProxyLoaders.cxx.
204 {
205 if (*ti ==
typeid(
TYPE)) {
206 auto accWrap = std::make_unique<AccessorWrapper<TYPE>>(
varname);
207 if (accWrap && accWrap->isValid(
data)) {
208 m_accessorCache.insert_or_assign(varname, accWrap.release());
209 return true;
210 } else if (accWrap) {
213 throw std::runtime_error(
"Unsupported aux element type '"+
r.getTypeName(auxid)+
"' for '"+varname+
"'");
214 }
215 }
216 return false;
217 }
#define TYPE(CODE, TYP, IOTYP)
◆ variableTypeFromString()
Implements ExpressionParsing::IProxyLoader.
Definition at line 322 of file xAODVariableProxyLoaders.cxx.
323 {
324 auto accWrap = std::make_unique<TMethodCollectionWrapper>(
typeid(*
m_auxVectorData), varname);
327 m_accessorCache.insert_or_assign(varname, accWrap.release());
328 return vtype;
329 }
330
332
333
334
335
337
338
339
341 }
342
343 return vtype;
344 }
IProxyLoader::VariableType try_all_known_types(const std::string &varname, const AUX *data, bool isVector) const
◆ ATLAS_THREAD_SAFE
| accessorCache_t m_accessorCache ExpressionParsing::xAODProxyLoader::ATLAS_THREAD_SAFE |
|
mutableprotectedinherited |
◆ m_auxVectorData
| const SG::AuxVectorData* ExpressionParsing::xAODVectorProxyLoader::m_auxVectorData {nullptr} |
|
private |
The documentation for this class was generated from the following files: