ATLAS Offline Software
TAuxBranchManager.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef XAODROOTACCESS_TOOLS_TAUXBRANCHMANAGER_H
8 #define XAODROOTACCESS_TOOLS_TAUXBRANCHMANAGER_H
9 
10 // EDM include(s):
12 
13 // Local include(s):
14 #include "TVirtualManager.h"
15 
16 // Forward declaration(s):
17 namespace SG {
18  class IAuxTypeVector;
19 }
20 
21 namespace xAOD {
22 
23  // Forward declaration(s):
24  class THolder;
25 
35 
36  public:
39 
42  ::TBranch* br = 0, THolder* holder = 0 );
47 
50 
52  ::TBranch* branch();
54  ::TBranch** branchPtr();
56  const THolder* holder() const;
58  THolder* holder();
59 
61  virtual ::Int_t getEntry( ::Int_t getall = 0 ) override;
62 
64  virtual const void* object() const override;
66  virtual void* object() override;
68  virtual void setObject( void* obj ) override;
69 
71  virtual ::Bool_t create() override;
73  virtual ::Bool_t isSet() const override;
75  virtual void reset() override;
76 
77  private:
79  ::TBranch* m_branch;
83  ::Long64_t m_entry;
85  ::Bool_t m_isSet;
86 
91 
92  }; // class TAuxBranchManager
93 
94 } // namespace xAOD
95 
96 #endif // XAODROOTACCESS_TOOLS_TAUXBRANCHMANAGER_H
xAOD::TAuxBranchManager::getEntry
virtual ::Int_t getEntry(::Int_t getall=0) override
Function for updating the object in memory if needed.
Definition: TAuxBranchManager.cxx:102
xAOD::TAuxBranchManager::m_isSet
::Bool_t m_isSet
Was the object set for the current event?
Definition: TAuxBranchManager.h:85
xAOD::TAuxBranchManager::m_holder
THolder * m_holder
Holder object for the EDM object.
Definition: TAuxBranchManager.h:81
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
xAOD::TAuxBranchManager::create
virtual ::Bool_t create() override
Create the object for the current event.
Definition: TAuxBranchManager.cxx:168
xAOD::TAuxBranchManager
Manager for auxiliary branches created dynamically.
Definition: TAuxBranchManager.h:34
xAOD::THolder
This class takes care of holding EDM objects in memory.
Definition: THolder.h:35
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::TAuxBranchManager::isSet
virtual ::Bool_t isSet() const override
Check if the object was set for the current event.
Definition: TAuxBranchManager.cxx:189
xAOD::TVirtualManager
Interface class for the "manager classes".
Definition: TVirtualManager.h:24
xAOD::TAuxBranchManager::setObject
virtual void setObject(void *obj) override
Function replacing the object being handled.
Definition: TAuxBranchManager.cxx:160
xAOD::TAuxBranchManager::reset
virtual void reset() override
Reset the object at the end of processing of an event.
Definition: TAuxBranchManager.cxx:193
xAOD::TAuxBranchManager::m_entry
::Long64_t m_entry
The last entry that was loaded for this branch.
Definition: TAuxBranchManager.h:83
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition: AuxTypes.h:27
xAOD::TAuxBranchManager::~TAuxBranchManager
~TAuxBranchManager()
Destructor.
Definition: TAuxBranchManager.cxx:40
xAOD::TAuxBranchManager::branch
::TBranch * branch()
Accessor to the branch.
Definition: TAuxBranchManager.cxx:82
xAOD::TAuxBranchManager::TAuxBranchManager
TAuxBranchManager(auxid_t auxid, ::TBranch *br=0, THolder *holder=0)
Constructor getting hold of a possible branch.
Definition: TAuxBranchManager.cxx:18
xAOD::TAuxBranchManager::object
virtual const void * object() const override
Function getting a const pointer to the object being handled.
Definition: TAuxBranchManager.cxx:150
xAOD::TAuxBranchManager::auxid_t
SG::auxid_t auxid_t
Definition of the auxiliary ID type.
Definition: TAuxBranchManager.h:38
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::TAuxBranchManager::m_auxId
auxid_t m_auxId
Auxiliary variable type.
Definition: TAuxBranchManager.h:88
TVirtualManager.h
AuxTypes.h
Basic definitions for auxiliary types.
xAOD::TAuxBranchManager::m_vector
SG::IAuxTypeVector * m_vector
Dummy auxiliary variable for the empty events.
Definition: TAuxBranchManager.h:90
SG::IAuxTypeVector
Abstract interface for manipulating vectors of arbitrary types.
Definition: IAuxTypeVector.h:40
xAOD::TAuxBranchManager::branchPtr
::TBranch ** branchPtr()
Pointer to the branch's pointer.
Definition: TAuxBranchManager.cxx:87
xAOD::TAuxBranchManager::m_branch
::TBranch * m_branch
Pointer keeping track of the branch.
Definition: TAuxBranchManager.h:79
xAOD::TAuxBranchManager::operator=
TAuxBranchManager & operator=(const TAuxBranchManager &rhs)
Assignment operator.
Definition: TAuxBranchManager.cxx:51
python.PyAthena.obj
obj
Definition: PyAthena.py:135
xAOD::TAuxBranchManager::holder
const THolder * holder() const
Accessor to the Holder object (constant version)
Definition: TAuxBranchManager.cxx:92
PlotCalibFromCool.br
br
Definition: PlotCalibFromCool.py:355