Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

/Go4DynamicList/TGo4DynamicList.h

Go to the documentation of this file.
00001 //---------------------------------------------------------------
00002 //        Go4 Release Package v2.10-5 (build 21005) 
00003 //                      03-Nov-2005
00004 //---------------------------------------------------------------
00005 //       The GSI Online Offline Object Oriented (Go4) Project
00006 //       Experiment Data Processing at DVEE department, GSI
00007 //---------------------------------------------------------------
00008 //
00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI
00010 //                    Planckstr. 1, 64291 Darmstadt, Germany
00011 //Contact:            http://go4.gsi.de
00012 //----------------------------------------------------------------
00013 //This software can be used under the license agreements as stated
00014 //in Go4License.txt file which is part of the distribution.
00015 //----------------------------------------------------------------
00016 #ifndef TGO4DYNAMICLIST_H
00017 #define TGO4DYNAMICLIST_H
00018 
00019 #include "TGo4DynamicEntry.h"
00020 #include "TObjArray.h"
00021 
00022 class TH1;
00023 class TFolder;
00024 class TMutex;
00025 
00026 class TGo4Condition;
00027 class TGo4EventElement;
00028 class TGo4DynamicListStatus;
00029 class TGo4DynamicEntryStatus;
00030 class TGo4HistogramEntryStatus;
00031 class TGo4HistogramEntry;
00032 
00033 
00041 class TGo4DynamicList : public TGo4DynamicEntry {
00042   public:
00043 
00045     TGo4DynamicList();
00046 
00047     TGo4DynamicList(const Text_t* name);
00048 
00049     virtual ~TGo4DynamicList();
00050 
00053     TNamed* GetObject(const Text_t * name);
00054 
00056     TGo4DynamicEntry * GetEntry(const Text_t* name);
00057 
00059     void DeleteEntry(const Text_t* name);
00060 
00063     Bool_t AddEntry(TGo4DynamicEntry* en);
00064 
00066     virtual Int_t Process();
00067 
00069     virtual void Clear(Option_t* option="");
00070 
00072     Bool_t IsEmpty() const { return (fxList!=0) ? fxList->IsEmpty() : kTRUE; }
00073 
00074   private:
00079     void UpdateStatus(TGo4DynamicEntryStatus * state);
00080 
00082     TObjArray* fxList;
00083 
00085     TMutex * fxListMutex;                        
00086 
00087     TIterator * fxListIterator;                  
00088 
00090     TFolder * fxTempFolder; 
00091 
00092    public:
00093 
00098     TGo4DynamicEntryStatus * CreateStatus();
00099 
00101     virtual void Reset();
00102 
00104     void ResetIterator();
00105 
00107     TGo4DynamicEntry* NextEntry();
00108 
00110     virtual void CleanupCondition(TGo4Condition * con);
00111 
00113     virtual void CleanupHistogram(TH1 * his);
00114 
00116     virtual void SetStatus(TGo4DynamicEntryStatus * state);
00117 
00119     virtual Bool_t SetEntryStatus(const Text_t* name, TGo4DynamicEntryStatus * state);
00120 
00122     TGo4DynamicEntryStatus * CreateEntryStatus(const Text_t * name);
00123 
00129     virtual void CleanupEvent(TGo4EventElement * ev);
00130 
00131   ClassDef(TGo4DynamicList,2)
00132 };
00133 
00134 #endif //TGO4DYNAMICLIST_H
00135 
00136 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Tue Nov 8 10:55:52 2005 for Go4-v2.10-5 by doxygen1.2.15