ATLAS Offline Software
Loading...
Searching...
No Matches
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):
17namespace SG {
18 class IAuxTypeVector;
19}
20
21namespace xAOD {
22
23 // Forward declaration(s):
24 class THolder;
25
35
36 public:
39
42 ::TBranch* br = 0, THolder* holder = 0 );
44 TAuxBranchManager( const TAuxBranchManager& parent );
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
Basic definitions for auxiliary types.
Abstract interface for manipulating vectors of arbitrary types.
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.
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.
Definition THolder.h:35
Interface class for the "manager classes".
Forward declaration.
size_t auxid_t
Identifier for a particular aux data item.
Definition AuxTypes.h:27
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.