00001
00002
00003 #ifndef XAODROOTACCESS_TOOLS_TAUXMANAGER_H
00004 #define XAODROOTACCESS_TOOLS_TAUXMANAGER_H
00005
00006
00007 #include <memory>
00008
00009
00010 #include "TVirtualManager.h"
00011
00012
00013 namespace SG {
00014 class IConstAuxStore;
00015 }
00016
00017 namespace xAOD {
00018
00019
00020 class TAuxStore;
00021
00032 class TAuxManager : public TVirtualManager {
00033
00034 public:
00036 TAuxManager( TAuxStore* store, ::Bool_t sharedOwner = kTRUE );
00038 TAuxManager( const TAuxManager& parent );
00039
00041 TAuxManager& operator= ( const TAuxManager& rhs );
00042
00044 virtual ::Int_t getEntry( ::Long64_t entry, ::Int_t getall = 0 );
00045
00047 virtual void* object() const;
00049 virtual void setObject( void* obj );
00050
00052 virtual ::Bool_t isSet( ::Bool_t forceSet = kTRUE ) const;
00054 virtual void reset();
00055
00057 TAuxStore* getStore() const;
00059 const SG::IConstAuxStore* getConstStore() const;
00060
00061 private:
00063 std::shared_ptr< TAuxStore > m_store;
00065 TAuxStore* m_storePtr;
00066
00067 };
00068
00069 }
00070
00071 #endif // XAODROOTACCESS_TOOLS_TAUXMANAGER_H