#include <xAODVariableProxyLoaders.h>
Definition at line 188 of file xAODVariableProxyLoaders.h.
◆ accessorCache_t
◆ VariableType
◆ xAODVectorProxyLoader() [1/2]
| ExpressionParsing::xAODVectorProxyLoader::xAODVectorProxyLoader |
( |
| ) |
|
|
default |
◆ xAODVectorProxyLoader() [2/2]
| ExpressionParsing::xAODVectorProxyLoader::xAODVectorProxyLoader |
( |
const SG::AuxVectorData * | auxVectorData | ) |
|
◆ getAccessorFromString()
| virtual std::pair< IAccessor::VariableType, const IAccessor & > ExpressionParsing::RelayProxyLoader::getAccessorFromString |
( |
const EventContext & | ctx, |
|
|
const std::string & | varname ) const |
|
inlineoverridevirtualinherited |
◆ loadDouble()
| double ExpressionParsing::xAODVectorProxyLoader::loadDouble |
( |
const EventContext & | ctx, |
|
|
const std::string & | varname ) const |
|
overridevirtual |
◆ loadInt()
| int ExpressionParsing::xAODVectorProxyLoader::loadInt |
( |
const EventContext & | ctx, |
|
|
const std::string & | varname ) const |
|
overridevirtual |
◆ loadVec()
| std::vector< double > ExpressionParsing::xAODVectorProxyLoader::loadVec |
( |
const EventContext & | ctx, |
|
|
const std::string & | varname ) const |
|
overridevirtual |
◆ loadVecInt()
| std::vector< int > ExpressionParsing::xAODVectorProxyLoader::loadVecInt |
( |
const EventContext & | ctx, |
|
|
const std::string & | varname ) const |
|
overridevirtual |
◆ reset()
| void ExpressionParsing::xAODProxyLoader::reset |
( |
| ) |
|
|
virtualinherited |
◆ setData()
| void ExpressionParsing::xAODVectorProxyLoader::setData |
( |
const SG::AuxVectorData * | auxElement | ) |
|
◆ try_all_known_types()
template<class AUX>
| IAccessor::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 {
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.
static const auxid_t null_auxid
To signal no aux data item.
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)
◆ variableType()
| virtual VariableType ExpressionParsing::RelayProxyLoader::variableType |
( |
const std::string & | var_name | ) |
const |
|
inlineoverridevirtualinherited |
◆ variableTypeFromString()
| IAccessor::VariableType ExpressionParsing::xAODVectorProxyLoader::variableTypeFromString |
( |
const std::string & | varname | ) |
const |
|
overridevirtual |
Implements ExpressionParsing::RelayProxyLoader.
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 }
IAccessor::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: