00001 00002 // 00003 // RecMinos 00004 // 00005 // RecMinos is the Base Class for MINOS records 00006 // 00007 // Author: R. Hatcher 4/2001 00008 // 00010 00011 #ifndef RECMINOS_H 00012 #define RECMINOS_H 00013 00014 #include "TObjArray.h" // needed for streamer i/o 00015 #include "TNamed.h" 00016 #include "Registry/Registry.h" 00017 #include "Record/RecJobHistory.h" // data member 00018 00019 class RecMinosHdr; 00020 class VldContext; 00021 00022 class RecMinos : public TNamed { 00023 00024 public: 00025 00026 RecMinos(); // necessary for streamer io 00027 RecMinos(RecMinosHdr* header); // basic ctor 00028 virtual ~RecMinos(); 00029 00030 virtual void AdoptComponent(TObject* component); 00031 virtual void AdoptTemporary(TObject* temporary); 00032 00033 virtual const TObject* FindComponent(const char *classname = 0, 00034 const char *objname = 0) const; 00035 virtual const TObject* FindTemporary(const char *classname = 0, 00036 const char *objname = 0) const; 00037 00038 virtual const RecMinosHdr* GetHeader() const; 00039 virtual const VldContext* GetVldContext() const; 00040 virtual const TObjArray& GetComponents() const; 00041 virtual TObjArray& GetTemporaries(); 00042 virtual Registry& GetTempTags(); 00043 virtual const Registry& GetTempTags() const; 00044 virtual bool IsPersistedToOutputStream(const char* stream="", 00045 const char* file="",const char* tree="",int index=-1) const; 00046 virtual bool IsTransient() const; 00047 virtual const RecJobHistory& GetJobHistory() const { return fJobHistory; } 00048 00049 virtual void Print(Option_t *option="") const; 00050 00051 // State changing methods 00052 virtual void HasBeenModified(); 00053 virtual void PersistedToOutputStream(const char* stream, 00054 const char* file, const char* tree, int index); 00055 virtual void SetTransient(bool isTransient = true); 00056 00057 protected: 00058 00059 virtual TObject* RemoveComponent(TObject* component); 00060 virtual TObject* RemoveTemporary(TObject* temporary); 00061 00062 RecMinosHdr* fHeader; // header base class 00063 TObjArray fComponents; // raw/truth blocks, candidates, ... 00064 RecJobHistory fJobHistory; // info about jobs used to create/fill rec 00065 TObjArray fTemporaries; 00066 Registry fTempTags; 00067 00068 private: 00069 00070 ClassDef(RecMinos,2) 00071 }; 00072 00073 inline const RecMinosHdr* RecMinos::GetHeader() const {return fHeader; } 00074 inline const TObjArray& RecMinos::GetComponents() const {return fComponents; } 00075 inline TObjArray& RecMinos::GetTemporaries() {return fTemporaries; } 00076 inline Registry& RecMinos::GetTempTags() { return fTempTags; } 00077 inline const Registry& RecMinos::GetTempTags() const { return fTempTags; } 00078 00079 #endif // RECMINOS_H
1.3.9.1