00001
00002
00003
00004
00005
00006
00007
00008
00009
00011
00012 #ifndef MOMNAVIGATOR_H
00013 #define MOMNAVIGATOR_H
00014
00015 #include <iosfwd>
00016 #include <vector>
00017
00018
00019
00020 #include "TObjArray.h"
00021 class MomNavigator;
00022
00023 std::ostream& operator<<(std::ostream& ms, const MomNavigator& mom);
00024
00025 class MomNavigator : public TObject
00026 {
00027 public:
00028
00029 MomNavigator();
00030 virtual ~MomNavigator();
00031
00032 void AdoptFragment(TObject *block);
00033
00034 TObject *GetFragment(const char *classname = 0,
00035 const char *username = 0,
00036 const char *streamname = 0) const;
00037 std::vector<TObject*> GetFragmentList(const char* classname = 0,
00038 const char* username = 0,
00039 const char* streamname = 0) const;
00040 TObject *GetFragmentByInputTag(const char* streamname,
00041 const char* treename,
00042 int treeindex,
00043 const char* filename) const;
00044 const TObjArray *GetFragmentArray() const {return fFragmentArray;}
00045
00046 TObject *At(Int_t idx) const;
00047 TIter FragmentIter(void) const;
00048 Int_t IndexOf(TObject *Fragment);
00049
00050 void Clear(Option_t *option="");
00051 virtual std::ostream& Print(std::ostream& os) const;
00052 virtual void Print(Option_t* option = "") const;
00053
00054 protected:
00055
00056 private:
00057
00058 TObjArray *fFragmentArray;
00059
00060 ClassDef(MomNavigator,1)
00061
00062 };
00063
00064 #endif // MOMNAVIGATOR_H