 |
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef XAODROOTACCESS_TOOLS_ROBJECTMANAGER_H
8 #define XAODROOTACCESS_TOOLS_ROBJECTMANAGER_H
14 #include <ROOT/RNTupleReader.hxx>
15 #include <ROOT/RNTupleView.hxx>
19 #if ROOT_VERSION_CODE < ROOT_VERSION(6, 35, 1)
21 using Experimental::RNTupleReader;
22 using Experimental::RNTupleView;
24 #endif // ROOT_VERSION_CODE < ROOT_VERSION(6, 36, 0)
32 namespace Experimental {
66 virtual ::Int_t
getEntry( ::Int_t getall = 0 )
override;
69 virtual const void*
object()
const override;
71 virtual void*
object()
override;
76 virtual ::Bool_t
create()
override;
78 virtual ::Bool_t
isSet()
const override;
80 virtual void reset()
override;
102 #endif // XAODROOTACCESS_TOOLS_ROBJECTMANAGER_H
virtual void reset() override
Reset the object at the end of processing of an event.
RObjectManager & operator=(const RObjectManager &parent)=delete
Do not allow copying this object.
Manager for EDM objects created by ROOT.
const THolder * holder() const
Accessor to the Holder object.
virtual void setObject(void *obj) override
Function replacing the object being handled.
This class takes care of holding EDM objects in memory.
RObjectManager(const RObjectManager &parent)=delete
Do not allow copy-constructing this object:
RObjectManager(ROOT::RNTupleView< void > field, ::Long64_t &entry, THolder *holder=0, ::Bool_t renewOnRead=kFALSE)
Constructor.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Interface class for the "manager classes".
std::reference_wrapper<::Long64_t > m_entryToLoad
Entry number to load next.
virtual ::Bool_t isSet() const override
Check if the object was set for the current event.
ROOT::RNTupleView< void > m_field
The typeless object taking care of reading the field.
std::unique_ptr< THolder > m_holder
Holder object for the EDM object.
virtual ::Bool_t create() override
Create the object for the current event.
~RObjectManager()
Destructor.
::Bool_t m_renewOnRead
Should the object be recreated on each read?
::Long64_t m_entry
The last entry that was loaded for this field.
virtual ::Int_t getEntry(::Int_t getall=0) override
Function for updating the object in memory if needed.
::Bool_t m_isSet
Was the object set for the current event?
const std::string & fieldName() const
provide the field name
virtual const void * object() const override
Function getting a const pointer to the object being handled.
Selection rules: declare transient members.