00001
00002
00003 #ifndef XAODROOTACCESS_TOOLS_TMETABRANCH_H
00004 #define XAODROOTACCESS_TOOLS_TMETABRANCH_H
00005
00006
00007 #include <typeinfo>
00008
00009
00010 #include <TBranchObject.h>
00011
00012 namespace xAOD {
00013
00014
00015 class TEvent;
00016
00028 class TMetaBranch : public ::TBranchObject {
00029
00030 public:
00032 TMetaBranch( ::TTree* parent, TEvent* event, const std::type_info* ti,
00033 const char* brName, const char* brType );
00034
00036 virtual ::Int_t GetEntry( ::Long64_t entry, ::Int_t getall );
00037
00039 virtual ::TClass* IsA() const;
00040
00041 private:
00043 TEvent* m_event;
00044
00045 const std::type_info* m_ti;
00046
00047 void* m_object;
00048
00050 #define IsA IsARoot
00051 ClassDef( xAOD::TMetaBranch, 0 )
00052 #undef IsA
00053
00054 };
00055
00056 }
00057
00058 #endif // XAODROOTACCESS_TOOLS_TMETABRANCH_H