00001
00002
00003 #ifndef XAODROOTACCESS_TOOL_TCDVHOLDERT_H
00004 #define XAODROOTACCESS_TOOL_TCDVHOLDERT_H
00005
00006
00007 #include "AthContainers/ConstDataVector.h"
00008
00009
00010 #include "xAODRootAccess/tools/THolder.h"
00011
00012 namespace xAOD {
00013
00026 template< class T >
00027 class TCDVHolderT : public THolder {
00028
00029 public:
00031 typedef ConstDataVector< T > Object_t;
00032
00034 TCDVHolderT( ConstDataVector< T >* object, const std::type_info& type,
00035 ::Bool_t owner = kTRUE );
00036
00038 virtual void set( void* obj );
00039
00041 virtual const void* getAsConst( const std::type_info& tid,
00042 ::Bool_t silent = kFALSE ) const;
00043
00044 private:
00046 ConstDataVector< T >* m_cdvObject;
00049 THolder m_holderHelper;
00050
00051 };
00052
00053 }
00054
00055
00056 #include "xAODRootAccess/tools/TCDVHolderT.icc"
00057
00058 #endif // XAODROOTACCESS_TOOL_TCDVHOLDERT_H