00001
00002
00003 #ifndef XAODROOTACCESS_TOOLS_TOBJECTMANAGER_H
00004 #define XAODROOTACCESS_TOOLS_TOBJECTMANAGER_H
00005
00006
00007 #include "TVirtualManager.h"
00008
00009
00010 class TBranch;
00011
00012 namespace xAOD {
00013
00014
00015 class THolder;
00016
00028 class TObjectManager : public TVirtualManager {
00029
00030 public:
00032 TObjectManager( ::TBranch* br = 0, THolder* holder = 0,
00033 ::Bool_t renewOnRead = kFALSE );
00035 TObjectManager( const TObjectManager& parent );
00037 ~TObjectManager();
00038
00040 TObjectManager& operator=( const TObjectManager& parent );
00041
00043 ::TBranch* branch() const;
00045 ::TBranch** branchPtr();
00047 const THolder* holder() const;
00049 THolder* holder();
00050
00052 virtual ::Int_t getEntry( ::Long64_t entry, ::Int_t getall = 0 );
00053
00055 virtual void* object() const;
00057 virtual void setObject( void* obj );
00058
00060 virtual ::Bool_t isSet( ::Bool_t forceSet = kTRUE ) const;
00062 virtual void reset();
00063
00064 private:
00066 ::TBranch* m_branch;
00068 THolder* m_holder;
00070 ::Long64_t m_entry;
00072 ::Bool_t m_isSet;
00074 ::Bool_t m_renewOnRead;
00075
00076 };
00077
00078 }
00079
00080 #endif // XAODROOTACCESS_TOOLS_TOBJECTMANAGER_H