ATLAS Offline Software
Loading...
Searching...
No Matches
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):
17namespace SG {
18 class IAuxTypeVector;
19}
20
21namespace 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
Basic definitions for auxiliary types.
Abstract interface for manipulating vectors of arbitrary types.
This class takes care of holding EDM objects in memory.
Definition THolder.h:35
SG::IAuxTypeVector * m_vector
Dummy auxiliary variable for the empty events.
::Long64_t m_entry
The last entry that was loaded for this branch.
const THolder * holder() const
Accessor to the Holder object (constant version)
SG::auxid_t auxid_t
Definition of the auxiliary ID type.
::Bool_t m_isSet
Was the variable set for the current event?
::TBranch * branch()
Accessor to the branch.
virtual void setObject(void *obj) override
Function replacing the object being handled.
::TBranch * m_branch
Pointer keeping track of the branch.
virtual::Int_t getEntry(::Int_t getall=0) override
Function for updating the object in memory if needed.
virtual::Bool_t create() override
Create the object for the current event.
virtual void reset() override
Reset the object at the end of processing of an event.
THolder * m_holder
Holder object for the EDM object.
auxid_t m_auxId
Auxiliary variable type.
::TBranch ** branchPtr()
Pointer to the branch's pointer.
TPrimitiveAuxBranchManager & operator=(const TPrimitiveAuxBranchManager &rhs)
Assignment operator.
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.
TPrimitiveAuxBranchManager(auxid_t auxid, ::TBranch *br=0, THolder *holder=0)
Constructor getting hold of a possible branch.
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.