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 TGO4ANALYSISSTATUS_H 00017 #define TGO4ANALYSISSTATUS_H 00018 00019 #include "Go4StatusBase/TGo4Status.h" 00020 #include "TString.h" 00021 #include "TObjArray.h" 00022 00023 class TIterator; 00024 class TMutex; 00025 class TGo4AnalysisStepStatus; 00026 00032 class TGo4AnalysisStatus : public TGo4Status { 00033 00034 friend class TGo4Analysis; 00035 00036 public: 00037 00039 TGo4AnalysisStatus(); 00040 00041 TGo4AnalysisStatus(const char* name); 00042 00043 virtual ~TGo4AnalysisStatus(); 00044 00045 void SetStepChecking(Int_t on) { fbStepCheckingMode=on; } 00046 Int_t IsStepChecking() const { return fbStepCheckingMode; } 00047 00048 void SetFirstStepIndex(Int_t i) { fiFirstStepIndex=i; } 00049 Int_t GetFirstStepIndex() const { return fiFirstStepIndex; } 00050 00051 void SetLastStepIndex(Int_t i) { fiLastStepIndex=i; } 00052 Int_t GetLastStepIndex() const { return fiLastStepIndex; } 00053 00054 void SetAutoSaveInterval(Int_t i) { fiAutoSaveInterval=i; } 00055 Int_t GetAutoSaveInterval() const { return fiAutoSaveInterval; } 00056 00057 void SetAutoSaveCompression(Int_t i=5) { fiAutoSaveCompression=i; } 00058 Int_t GetAutoSaveCompression() const { return fiAutoSaveCompression; } 00059 00060 void SetAutoSaveOverwrite(Bool_t over=kTRUE) { fbAutoSaveOverwrite = over ? 1 : 0; } 00061 Int_t IsAutoSaveOverwrite() const { return fbAutoSaveOverwrite; } 00062 00063 void SetAutoFileName(const char* name) { fxAutoFileName = name; } 00064 const char* GetAutoFileName() const { return fxAutoFileName.Data(); } 00065 00066 void SetConfigFileName(const char* name) { fxConfigFileName = name; } 00067 const char* GetConfigFileName() const { return fxConfigFileName.Data(); } 00068 00069 void SetAutoSaveOn(Bool_t on=kTRUE) { fbAutoSaveOn=on; } 00070 Int_t IsAutoSaveOn() const { return fbAutoSaveOn; } 00071 00073 TGo4AnalysisStepStatus* GetStepStatus(const Text_t * name); 00074 00076 Bool_t AddStepStatus(TGo4AnalysisStepStatus * next); 00077 00078 void ResetStepIterator(); 00079 00081 TGo4AnalysisStepStatus * NextStepStatus(); 00082 00085 virtual Int_t PrintStatus(Text_t* buffer=0, Int_t buflen=0); 00086 00087 private: 00088 00091 TObjArray* fxStepArray; 00092 00094 TMutex * fxStepMutex; 00095 00097 TIterator* fxStepIterator; 00098 00103 Int_t fbStepCheckingMode; 00104 00108 Int_t fiFirstStepIndex; 00109 00114 Int_t fiLastStepIndex; 00115 00119 Int_t fiAutoSaveInterval; 00120 00122 Int_t fiAutoSaveCompression; 00123 00126 Int_t fbAutoSaveOverwrite; 00127 00130 Int_t fbAutoSaveOn; 00131 00133 TString fxAutoFileName; 00134 00136 TString fxConfigFileName; 00137 00138 ClassDef(TGo4AnalysisStatus,2) 00139 00140 }; 00141 00142 #endif //TGO4ANALYSISSTATUS_H 00143 00144 //----------------------------END OF GO4 SOURCE FILE ---------------------