29 if( parent.m_holder ) {
30 m_holder = new THolder( *parent.m_holder );
32 if( parent.m_vector ) {
34 SG::AuxTypeRegistry::instance().makeVector( m_auxId,
36 ( size_t ) 0 ).release();
73 (
size_t ) 0 ).release();
107 Error(
"xAOD::TAuxBranchManager::getEntry",
108 XAOD_MESSAGE(
"Branch=%s is not associated to any tree while reading of branches within this class relies on that"),
118 ::Long64_t entry =
m_branch->GetTree()->GetReadEntry();
126 Error(
"xAOD::TAuxBranchManager::getEntry",
127 XAOD_MESSAGE(
"Entry to read is not set for branch=%s from tree=%s. "
128 "It is either because TTree::LoadTree(entry) was not called "
129 "beforehand in the TEvent class OR "
130 "the entry requested to be read for the main tree is not corresponding to an event for the friend tree"),
137 if( entry ==
m_entry )
return 0;
140 const ::Int_t nbytes =
m_branch->GetEntry( entry, getall );
152 return std::as_const(*m_holder).get();
179 (
size_t ) 0 ).release();
Handle mappings between names and auxid_t.
static AuxTypeRegistry & instance()
Return the singleton registry instance.
std::unique_ptr< IAuxTypeVector > makeVector(SG::auxid_t auxid, size_t size, size_t capacity) const
Construct a new vector to hold an aux item.
Manager for auxiliary branches created dynamically.
virtual void setObject(void *obj) override
Function replacing the object being handled.
::Bool_t m_isSet
Was the object set for the current event?
TAuxBranchManager(auxid_t auxid, ::TBranch *br=0, THolder *holder=0)
Constructor getting hold of a possible branch.
SG::auxid_t auxid_t
Definition of the auxiliary ID type.
::TBranch * m_branch
Pointer keeping track of the branch.
virtual void reset() override
Reset the object at the end of processing of an event.
TAuxBranchManager & operator=(const TAuxBranchManager &rhs)
Assignment operator.
const THolder * holder() const
Accessor to the Holder object (constant version)
virtual const void * object() const override
Function getting a const pointer to the object being handled.
~TAuxBranchManager()
Destructor.
virtual::Bool_t isSet() const override
Check if the object was set for the current event.
THolder * m_holder
Holder object for the EDM object.
SG::IAuxTypeVector * m_vector
Dummy auxiliary variable for the empty events.
virtual::Int_t getEntry(::Int_t getall=0) override
Function for updating the object in memory if needed.
::TBranch * branch()
Accessor to the branch.
virtual::Bool_t create() override
Create the object for the current event.
::Long64_t m_entry
The last entry that was loaded for this branch.
auxid_t m_auxId
Auxiliary variable type.
::TBranch ** branchPtr()
Pointer to the branch's pointer.
This class takes care of holding EDM objects in memory.
Interface class for the "manager classes".
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.