GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4AnalysisStatus.h
Go to the documentation of this file.
1 // $Id$
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #ifndef TGO4ANALYSISSTATUS_H
15 #define TGO4ANALYSISSTATUS_H
16 
17 #include "TGo4Status.h"
18 #include "TString.h"
19 
20 class TIterator;
21 class TMutex;
23 class TObjArray;
24 
31 
32  friend class TGo4Analysis;
33 
34  public:
35 
38 
39  TGo4AnalysisStatus(const char *name);
40 
41  virtual ~TGo4AnalysisStatus();
42 
43  void SetStepChecking(Int_t on) { fbStepCheckingMode = on; }
44  Int_t IsStepChecking() const { return fbStepCheckingMode; }
45 
46  void SetFirstStepIndex(Int_t i) { fiFirstStepIndex = i; }
47  Int_t GetFirstStepIndex() const { return fiFirstStepIndex; }
48 
49  void SetLastStepIndex(Int_t i) { fiLastStepIndex = i; }
50  Int_t GetLastStepIndex() const { return fiLastStepIndex; }
51 
52  void SetAutoSaveInterval(Int_t i) { fiAutoSaveInterval = i; }
53  Int_t GetAutoSaveInterval() const { return fiAutoSaveInterval; }
54 
55  void SetAutoSaveCompression(Int_t i = 5) { fiAutoSaveCompression = i; }
57 
58  void SetAutoSaveOverwrite(Bool_t over = kTRUE) { fbAutoSaveOverwrite = over ? 1 : 0; }
59  Int_t IsAutoSaveOverwrite() const { return fbAutoSaveOverwrite; }
60 
61  void SetAutoFileName(const char *name) { fxAutoFileName = name; }
62  const char *GetAutoFileName() const { return fxAutoFileName.Data(); }
63 
64  void SetConfigFileName(const char *name) { fxConfigFileName = name; }
65  const char *GetConfigFileName() const { return fxConfigFileName.Data(); }
66 
67  void SetAutoSaveOn(Bool_t on = kTRUE) { fbAutoSaveOn = on; }
68  Int_t IsAutoSaveOn() const { return fbAutoSaveOn; }
69 
71  TGo4AnalysisStepStatus* GetStepStatus(const char *name);
72 
75 
77  void ClearStepStatus();
78 
79  void ResetStepIterator();
80 
83 
85  Int_t GetNumberOfSteps() const;
86 
88  TGo4AnalysisStepStatus *GetStepStatus(Int_t indx) const;
89 
92  void Print(Option_t *opt = "") const override;
93 
94  protected:
95 
98  TObjArray *fxStepArray{nullptr};
99 
101  TMutex *fxStepMutex{nullptr};
102 
104  TIterator *fxStepIterator{nullptr};
105 
111 
116 
121  Int_t fiLastStepIndex{0};
122 
127 
130 
134 
137  Int_t fbAutoSaveOn{1};
138 
140  TString fxAutoFileName;
141 
144 
145  ClassDefOverride(TGo4AnalysisStatus,4)
146 
147 };
148 
149 #endif //TGO4ANALYSISSTATUS_H
void SetAutoFileName(const char *name)
const char * GetAutoFileName() const
Int_t GetFirstStepIndex() const
Int_t GetAutoSaveCompression() const
Int_t GetAutoSaveInterval() const
void SetAutoSaveOn(Bool_t on=kTRUE)
TGo4AnalysisStepStatus * NextStepStatus()
Int_t IsAutoSaveOverwrite() const
Int_t IsStepChecking() const
void SetFirstStepIndex(Int_t i)
Int_t IsAutoSaveOn() const
Int_t GetNumberOfSteps() const
void SetStepChecking(Int_t on)
Bool_t AddStepStatus(TGo4AnalysisStepStatus *next)
TGo4AnalysisStepStatus * GetStepStatus(const char *name)
void Print(Option_t *opt="") const override
Int_t GetLastStepIndex() const
void SetAutoSaveOverwrite(Bool_t over=kTRUE)
void SetLastStepIndex(Int_t i)
void SetConfigFileName(const char *name)
void SetAutoSaveInterval(Int_t i)
void SetAutoSaveCompression(Int_t i=5)
const char * GetConfigFileName() const