GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
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
20class TIterator;
21class TMutex;
23class 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
53 Int_t GetAutoSaveInterval() const { return fiAutoSaveInterval; }
54
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
122
127
130
134
137 Int_t fbAutoSaveOn{1};
138
141
144
145 ClassDefOverride(TGo4AnalysisStatus,4)
146
147};
148
149#endif //TGO4ANALYSISSTATUS_H
void SetFirstStepIndex(Int_t i)
Int_t fbAutoSaveOn
True if Autosaving is enabled (default).
TString fxAutoFileName
Name of the autosave file.
TGo4AnalysisStatus()
default ctor for streamer.
TString fxConfigFileName
Name of the last configuration file.
void SetAutoSaveInterval(Int_t i)
void SetConfigFileName(const char *name)
Int_t fbAutoSaveOverwrite
overwrite mode for autosave yes or no.
void SetAutoSaveCompression(Int_t i=5)
Int_t fiAutoSaveCompression
compression level for autosave file
const char * GetAutoFileName() const
void SetAutoSaveOverwrite(Bool_t over=kTRUE)
void SetLastStepIndex(Int_t i)
Int_t fiAutoSaveInterval
Implicit Loop cycles in between two autosave actions.
Int_t IsAutoSaveOverwrite() const
TObjArray * fxStepArray
Array containing all analysis steps.
TMutex * fxStepMutex
Mutex protecting the analysis step list.
Int_t fiFirstStepIndex
Index describing the first analysis step from the steplist to be processed.
Int_t fiLastStepIndex
Index describing the last analysis step from the steplist to be processed.
Int_t IsStepChecking() const
Int_t GetFirstStepIndex() const
void SetStepChecking(Int_t on)
Int_t IsAutoSaveOn() const
void Print(Option_t *opt="") const override
basic method to printout status information on stdout; to be overridden by specific subclass
Bool_t AddStepStatus(TGo4AnalysisStepStatus *next)
Add new step status object to analysis status.
const char * GetConfigFileName() const
Int_t GetAutoSaveCompression() const
Int_t GetLastStepIndex() const
Int_t fbStepCheckingMode
True if chain of steps is checked for consistency of input and output events.
void ClearStepStatus()
Clear all existing step status objects.
Int_t GetNumberOfSteps() const
Gives number of steps.
TIterator * fxStepIterator
Iterator used for analysis step list.
TGo4AnalysisStepStatus * NextStepStatus()
Gives next analysis step status.
TGo4AnalysisStepStatus * GetStepStatus(const char *name)
Access to certain analysis step status by name.
Int_t GetAutoSaveInterval() const
void SetAutoFileName(const char *name)
void SetAutoSaveOn(Bool_t on=kTRUE)
Status object of one analysis step.