13#include "ROOT/RNTupleReader.hxx"
19 std::recursive_mutex* iomtx )
29 auto& fieldInfo =
m_reader.getFieldInfo(auxid, *
this);
34 if( fieldInfo.isPackedContainer ) {
44 : std::unique_lock<std::recursive_mutex>();
46 fieldInfo.view->BindRawPtr(
data);
51 throw std::string(
"Error reading field ") + fieldInfo.fieldName;
56 catch(
const std::string& e_str) {
Hold information about an option setting request.
Handle mappings between names and auxid_t.
Exceptions that can be thrown from AthContainers.
char data[hepevt_bytes_allocation_ATLAS]
#define ATLAS_THREAD_SAFE
RNTupleAuxDynStore(RootAuxDynIO::RNTupleAuxDynReader &aux_reader, long long entry, bool standalone, std::recursive_mutex *iomtx=nullptr)
virtual bool readData(SG::auxid_t auxid) override final
read data from ROOT and store it in m_vecs. Returns False on error
RootAuxDynIO::RNTupleAuxDynReader & m_reader
RootAuxDynStore(RootAuxDynReader &reader, long long entry, bool standalone, std::recursive_mutex *iomtx=nullptr)
std::recursive_mutex * m_iomutex
Optional mutex used to serialize I/O with RootStorageSvc (not owned)
Hold information about an option setting request.
virtual void * getDataInternal(SG::auxid_t auxid, size_t size, size_t capacity, bool no_lock_check)
Return the data vector for one aux data item.
virtual bool setOption(auxid_t id, const AuxDataOption &option) override
Set an option for an auxiliary data variable.
bool standalone() const
Return the standalone flag.
virtual const void * getIOData(SG::auxid_t auxid) const override
Return a pointer to the data to be stored for one aux data item.
Handle mappings between names and auxid_t.
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Helper for emitting error messages.
#define ATHCONTAINERS_ERROR(ctx, msg)
Specialization of RootAuxDynStore for reading Aux Dynamic attributes from RNTuple.
static const auxid_t null_auxid
To signal no aux data item.
size_t auxid_t
Identifier for a particular aux data item.