ATLAS Offline Software
TPrimitiveAuxBranchManager.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_TPRIMITIVEAUXBRANCHMANAGER_H
8 #define XAODROOTACCESS_TOOLS_TPRIMITIVEAUXBRANCHMANAGER_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 
36 
37  public:
40 
43  ::TBranch* br = 0,
44  THolder* holder = 0 );
49 
53 
55  ::TBranch* branch();
57  ::TBranch** branchPtr();
59  const THolder* holder() const;
61  THolder* holder();
62 
64  virtual ::Int_t getEntry( ::Int_t getall = 0 ) override;
65 
67  virtual const void* object() const override;
69  virtual void* object() override;
71  virtual void setObject( void* obj ) override;
72 
74  virtual ::Bool_t create() override;
76  virtual ::Bool_t isSet() const override;
78  virtual void reset() override;
79 
80  private:
82  ::TBranch* m_branch;
86  ::Long64_t m_entry;
88  ::Bool_t m_isSet;
89 
94 
95  }; // class TPrimitiveAuxBranchManager
96 
97 } // namespace xAOD
98 
99 #endif // XAODROOTACCESS_TOOLS_TPRIMITIVEAUXBRANCHMANAGER_H
xAOD::TPrimitiveAuxBranchManager::m_branch
::TBranch * m_branch
Pointer keeping track of the branch.
Definition: TPrimitiveAuxBranchManager.h:82
xAOD::TPrimitiveAuxBranchManager::branchPtr
::TBranch ** branchPtr()
Pointer to the branch's pointer.
Definition: TPrimitiveAuxBranchManager.cxx:89
xAOD::TPrimitiveAuxBranchManager::~TPrimitiveAuxBranchManager
~TPrimitiveAuxBranchManager()
Destructor.
Definition: TPrimitiveAuxBranchManager.cxx:43
xAOD::TPrimitiveAuxBranchManager::m_vector
SG::IAuxTypeVector * m_vector
Dummy auxiliary variable for the empty events.
Definition: TPrimitiveAuxBranchManager.h:93
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
xAOD::TPrimitiveAuxBranchManager::m_auxId
auxid_t m_auxId
Auxiliary variable type.
Definition: TPrimitiveAuxBranchManager.h:91
xAOD::THolder
This class takes care of holding EDM objects in memory.
Definition: THolder.h:35
xAOD::TPrimitiveAuxBranchManager::operator=
TPrimitiveAuxBranchManager & operator=(const TPrimitiveAuxBranchManager &rhs)
Assignment operator.
Definition: TPrimitiveAuxBranchManager.cxx:55
xAOD::TPrimitiveAuxBranchManager::m_holder
THolder * m_holder
Holder object for the EDM object.
Definition: TPrimitiveAuxBranchManager.h:84
xAOD::TPrimitiveAuxBranchManager::getEntry
virtual ::Int_t getEntry(::Int_t getall=0) override
Function for updating the object in memory if needed.
Definition: TPrimitiveAuxBranchManager.cxx:104
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::TPrimitiveAuxBranchManager::setObject
virtual void setObject(void *obj) override
Function replacing the object being handled.
Definition: TPrimitiveAuxBranchManager.cxx:162
xAOD::TVirtualManager
Interface class for the "manager classes".
Definition: TVirtualManager.h:24
xAOD::TPrimitiveAuxBranchManager
Manager for primitive auxiliary branches created dynamically.
Definition: TPrimitiveAuxBranchManager.h:35
xAOD::TPrimitiveAuxBranchManager::object
virtual const void * object() const override
Function getting a const pointer to the object being handled.
Definition: TPrimitiveAuxBranchManager.cxx:152
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition: AuxTypes.h:27
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::TPrimitiveAuxBranchManager::isSet
virtual ::Bool_t isSet() const override
Check if the object was set for the current event.
Definition: TPrimitiveAuxBranchManager.cxx:199
xAOD::TPrimitiveAuxBranchManager::m_isSet
::Bool_t m_isSet
Was the variable set for the current event?
Definition: TPrimitiveAuxBranchManager.h:88
TVirtualManager.h
AuxTypes.h
Basic definitions for auxiliary types.
xAOD::TPrimitiveAuxBranchManager::auxid_t
SG::auxid_t auxid_t
Definition of the auxiliary ID type.
Definition: TPrimitiveAuxBranchManager.h:39
SG::IAuxTypeVector
Abstract interface for manipulating vectors of arbitrary types.
Definition: IAuxTypeVector.h:42
xAOD::TPrimitiveAuxBranchManager::branch
::TBranch * branch()
Accessor to the branch.
Definition: TPrimitiveAuxBranchManager.cxx:84
xAOD::TPrimitiveAuxBranchManager::TPrimitiveAuxBranchManager
TPrimitiveAuxBranchManager(auxid_t auxid, ::TBranch *br=0, THolder *holder=0)
Constructor getting hold of a possible branch.
Definition: TPrimitiveAuxBranchManager.cxx:21
xAOD::TPrimitiveAuxBranchManager::create
virtual ::Bool_t create() override
Create the object for the current event.
Definition: TPrimitiveAuxBranchManager.cxx:177
python.PyAthena.obj
obj
Definition: PyAthena.py:132
xAOD::TPrimitiveAuxBranchManager::m_entry
::Long64_t m_entry
The last entry that was loaded for this branch.
Definition: TPrimitiveAuxBranchManager.h:86
xAOD::TPrimitiveAuxBranchManager::reset
virtual void reset() override
Reset the object at the end of processing of an event.
Definition: TPrimitiveAuxBranchManager.cxx:204
xAOD::TPrimitiveAuxBranchManager::holder
const THolder * holder() const
Accessor to the Holder object (constant version)
Definition: TPrimitiveAuxBranchManager.cxx:94
PlotCalibFromCool.br
br
Definition: PlotCalibFromCool.py:355