00001 //------------------------------------------------------------- 00002 // Go4 Release Package v3.04-01 (build 30401) 00003 // 28-November-2008 00004 //--------------------------------------------------------------- 00005 // The GSI Online Offline Object Oriented (Go4) Project 00006 // Experiment Data Processing at EE 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 "TGo4Status.h" 00020 #include "TString.h" 00021 00022 class TIterator; 00023 class TMutex; 00024 class TGo4AnalysisStepStatus; 00025 class TObjArray; 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 00084 Int_t GetNumberOfSteps(); 00085 00087 TGo4AnalysisStepStatus* GetStepStatus(Int_t indx); 00088 00091 virtual Int_t PrintStatus(Text_t* buffer=0, Int_t buflen=0); 00092 00093 private: 00094 00097 TObjArray* fxStepArray; 00098 00100 TMutex * fxStepMutex; 00101 00103 TIterator* fxStepIterator; 00104 00109 Int_t fbStepCheckingMode; 00110 00114 Int_t fiFirstStepIndex; 00115 00120 Int_t fiLastStepIndex; 00121 00125 Int_t fiAutoSaveInterval; 00126 00128 Int_t fiAutoSaveCompression; 00129 00132 Int_t fbAutoSaveOverwrite; 00133 00136 Int_t fbAutoSaveOn; 00137 00139 TString fxAutoFileName; 00140 00142 TString fxConfigFileName; 00143 00144 ClassDef(TGo4AnalysisStatus,2) 00145 00146 }; 00147 00148 #endif //TGO4ANALYSISSTATUS_H 00149 00150 //----------------------------END OF GO4 SOURCE FILE ---------------------