GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4AnalysisStepManager.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 TGO4ANALYSISSTEPMANAGER_H
15 #define TGO4ANALYSISSTEPMANAGER_H
16 
17 #include "TNamed.h"
18 
19 class TIterator;
20 class TMutex;
21 class TObjArray;
22 class TFolder;
23 
27 class TGo4EventElement;
28 class TGo4AnalysisStep;
29 class TGo4AnalysisStatus;
30 class TGo4Parameter;
31 class TGo4Condition;
32 class TGo4Fitter;
33 
40 class TGo4AnalysisStepManager : public TNamed {
41  public:
42  TGo4AnalysisStepManager(const char *name);
43 
44  virtual ~TGo4AnalysisStepManager();
45 
51  Int_t ProcessAnalysisSteps();
52 
55  TGo4AnalysisStep *GetAnalysisStep(const char *name) const;
56 
58  Int_t GetNumberOfAnalysisSteps() const;
59 
61  TGo4AnalysisStep *GetAnalysisStepNum(Int_t number) const;
62 
70  Bool_t AddAnalysisStep(TGo4AnalysisStep *next);
71 
74  void CloseAnalysis();
75 
79  virtual Bool_t InitEventClasses();
80 
82  void UpdateStatus(TGo4AnalysisStatus *state);
83 
85  void SetStatus(TGo4AnalysisStatus *state);
86 
88  void AutoSave();
89 
93  Bool_t SetFirstStep(const char *name);
94 
99  Bool_t SetLastStep(const char *name);
100 
111  Bool_t SetStepStorage(const char *name, Bool_t on);
112 
118  Bool_t NewStepStore(const char *name, TGo4EventStoreParameter *par);
119 
125  Bool_t NewStepSource(const char *name, TGo4EventSourceParameter *par);
126 
132  Bool_t NewStepProcessor(const char *name, TGo4EventProcessorParameter *par);
133 
140  Int_t Store(const char *name, TGo4Parameter *obj);
141 
148  Int_t Store(const char *name, TGo4Condition *con);
149 
156  Int_t Store(const char *name, TGo4Fitter *fit);
157 
164  Int_t Store(const char *name, TFolder *folder);
165 
172  TGo4EventElement *GetInputEvent(const char *stepname) const;
173 
181  TGo4EventElement *GetInputEvent(Int_t stepindex) const;
182 
189  TGo4EventElement *GetOutputEvent(const char *stepname) const;
190 
200  TGo4EventElement *GetOutputEvent(Int_t stepindex) const;
201 
208 
210 
211  Int_t IsErrorStopEnabled() const;
212 
213  void SetStepChecking(Bool_t on = kTRUE) { fbStepCheckingMode = on; }
214 
215  Bool_t IsStepChecking() const { return fbStepCheckingMode; }
216 
217  private:
218 
221  TObjArray *fxStepList{nullptr};
222 
224  TIterator *fxStepIterator{nullptr};
225 
230 
235  Int_t fiLastStepIndex{0};
236 
240 
245  Bool_t fbStepCheckingMode{kFALSE};
246 
250 
254 };
255 
256 #endif //TGO4ANALYSISSTEPMANAGER_H
Int_t Store(const char *name, TGo4Parameter *obj)
void SetOutputEvent(TGo4EventElement *event)
Bool_t NewStepProcessor(const char *name, TGo4EventProcessorParameter *par)
Bool_t NewStepSource(const char *name, TGo4EventSourceParameter *par)
void UpdateStatus(TGo4AnalysisStatus *state)
void SetStatus(TGo4AnalysisStatus *state)
void SetStepChecking(Bool_t on=kTRUE)
TGo4AnalysisStepManager(const char *name)
TGo4EventElement * GetOutputEvent() const
TGo4AnalysisStep * GetAnalysisStep(const char *name) const
Bool_t SetStepStorage(const char *name, Bool_t on)
TGo4AnalysisStep * GetAnalysisStepNum(Int_t number) const
Bool_t NewStepStore(const char *name, TGo4EventStoreParameter *par)
Bool_t AddAnalysisStep(TGo4AnalysisStep *next)
TGo4EventElement * GetInputEvent(const char *stepname) const
Bool_t SetFirstStep(const char *name)
Bool_t SetLastStep(const char *name)