GSI Object Oriented Online Offline (Go4)  GO4-6.1.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TGo4AnalysisStepManager.h
Go to the documentation of this file.
1 // $Id: TGo4AnalysisStepManager.h 2627 2019-10-01 08:02:45Z linev $
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);
56 
59 
61  TGo4AnalysisStep* GetAnalysisStepNum(Int_t number);
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);
173 
181  TGo4EventElement* GetInputEvent(Int_t stepindex);
182 
189  TGo4EventElement* GetOutputEvent(const char* stepname);
190 
200  TGo4EventElement* GetOutputEvent(Int_t stepindex);
201 
208 
210 
211  Int_t IsErrorStopEnabled();
212 
213  void SetStepChecking(Bool_t on=kTRUE) { fbStepCheckingMode=on; }
214 
215  Bool_t IsStepChecking() { return fbStepCheckingMode; }
216 
217  private:
218 
221  TObjArray* fxStepList;
222 
224  TIterator* fxStepIterator;
225 
230 
236 
240 
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)
Bool_t SetStepStorage(const char *name, Bool_t on)
Bool_t NewStepStore(const char *name, TGo4EventStoreParameter *par)
Bool_t AddAnalysisStep(TGo4AnalysisStep *next)
TGo4EventElement * GetInputEvent(const char *stepname)
TGo4EventElement * GetOutputEvent()
TGo4AnalysisStep * GetAnalysisStep(const char *name)
TGo4AnalysisStep * GetAnalysisStepNum(Int_t number)
Bool_t SetFirstStep(const char *name)
Bool_t SetLastStep(const char *name)