Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

TGo4AnalysisStepManager.h

Go to the documentation of this file.
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 TGO4ANALYSISSTEPMANAGER_H
00017 #define TGO4ANALYSISSTEPMANAGER_H
00018 
00019 #include "TNamed.h"
00020 
00021 class TIterator;
00022 class TMutex;
00023 class TObjArray;
00024 class TFolder;
00025 
00026 class TGo4EventProcessorParameter;
00027 class TGo4EventSourceParameter;
00028 class TGo4EventStoreParameter;
00029 class TGo4EventElement;
00030 class TGo4AnalysisStep;
00031 class TGo4AnalysisStatus;
00032 class TGo4Parameter;
00033 class TGo4Condition;
00034 class TGo4Fitter;
00035 
00042 class TGo4AnalysisStepManager : public TNamed {
00043    public:
00044       TGo4AnalysisStepManager(const char* name);
00045 
00046       virtual ~TGo4AnalysisStepManager();
00047 
00053       Int_t ProcessAnalysisSteps();
00054 
00056       TGo4AnalysisStep* GetAnalysisStep(const char* name);
00057 
00065       Bool_t AddAnalysisStep(TGo4AnalysisStep* next);
00066 
00069       void CloseAnalysis();
00070 
00074       virtual Bool_t InitEventClasses();
00075 
00077       void UpdateStatus(TGo4AnalysisStatus* state);
00078 
00080       void SetStatus(TGo4AnalysisStatus * state);
00081 
00083       void AutoSave();
00084 
00088       Bool_t SetFirstStep(const Text_t* name);
00089 
00094       Bool_t SetLastStep(const Text_t* name);
00095 
00106       Bool_t SetStepStorage(const Text_t* name, Bool_t on);
00107 
00113       Bool_t NewStepStore(const Text_t * name, TGo4EventStoreParameter* par);
00114 
00120       Bool_t NewStepSource(const Text_t * name, TGo4EventSourceParameter * par);
00121 
00127       Bool_t NewStepProcessor(const Text_t * name, TGo4EventProcessorParameter * par);
00128 
00135       Int_t Store(const Text_t * name, TGo4Parameter* obj);
00136 
00143       Int_t Store(const Text_t * name, TGo4Condition* con);
00144 
00151       Int_t Store(const Text_t * name, TGo4Fitter* fit);
00152 
00159       Int_t Store(const Text_t * name, TFolder* folder);
00160 
00167       TGo4EventElement* GetInputEvent(const char* stepname);
00168 
00176       TGo4EventElement* GetInputEvent(Int_t stepindex);
00177 
00184       TGo4EventElement* GetOutputEvent(const char* stepname);
00185 
00195       TGo4EventElement* GetOutputEvent(Int_t stepindex);
00196 
00202       TGo4EventElement* GetOutputEvent() { return fxOutputEvent; }
00203 
00204       void SetOutputEvent(TGo4EventElement * event) {  fxOutputEvent=event; }
00205 
00206       Int_t IsErrorStopEnabled();
00207 
00208       void SetStepChecking(Bool_t on=kTRUE) { fbStepCheckingMode=on; }
00209 
00210       Bool_t IsStepChecking() { return fbStepCheckingMode; }
00211 
00212    private:
00213 
00216       TObjArray* fxStepList;
00217 
00219       TMutex* fxStepMutex;
00220 
00222       TIterator* fxStepIterator; 
00223 
00227       Int_t fiFirstStepIndex;
00228 
00233       Int_t fiLastStepIndex;
00234 
00237       Int_t fiCurrentStepIndex;
00238 
00243       Bool_t fbStepCheckingMode;
00244 
00247       TGo4AnalysisStep * fxCurrentStep;
00248 
00251       TGo4EventElement* fxOutputEvent;
00252 };
00253 
00254 #endif //TGO4ANALYSISSTEPMANAGER_H
00255 
00256 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Fri Nov 28 12:59:04 2008 for Go4-v3.04-1 by  doxygen 1.4.2