Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

/Go4Analysis/TGo4AnalysisStep.h

Go to the documentation of this file.
00001 //---------------------------------------------------------------
00002 //        Go4 Release Package v2.10-5 (build 21005) 
00003 //                      03-Nov-2005
00004 //---------------------------------------------------------------
00005 //       The GSI Online Offline Object Oriented (Go4) Project
00006 //       Experiment Data Processing at DVEE 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 TGO4ANALYSISSTEP_H
00017 #define TGO4ANALYSISSTEP_H
00018 
00019 #include "TNamed.h"
00020 #include "TString.h"
00021 
00022 #include "Go4Log/TGo4Log.h"
00023 
00024 #include "Go4Event/TGo4EventElement.h"
00025 #include "Go4Event/TGo4EventProcessor.h"
00026 #include "Go4Event/TGo4EventStore.h"
00027 #include "Go4Event/TGo4EventSource.h"
00028 #include "Go4Event/TGo4EventFactory.h"
00029 
00030 #include "Go4Event/TGo4EventProcessorParameter.h"
00031 #include "Go4Event/TGo4EventStoreParameter.h"
00032 #include "Go4Event/TGo4EventSourceParameter.h"
00033 
00034 class TGo4Analysis;
00035 class TGo4AnalysisStepStatus;
00036 class TGo4AnalysisStatus;
00037 class TGo4Condition;
00038 class TGo4Fitter;
00039 
00056 class TGo4AnalysisStep : public TNamed {
00057   public:
00058 
00061     TGo4AnalysisStep(const char* name,
00062                      TGo4EventFactory* eventfactory,
00063                      TGo4EventSourceParameter* sourcetype=0,
00064                      TGo4EventStoreParameter* storetype=0,
00065                      TGo4EventProcessorParameter* processortype=0);
00066 
00068     TGo4AnalysisStep();
00069 
00070     virtual ~TGo4AnalysisStep();
00071 
00076     void SetEventSource(TGo4EventSourceParameter* kind);
00077 
00078 
00085     void NewEventSource(TGo4EventSourceParameter * kind);
00086 
00088     void CloseEventSource();
00089 
00094     void SetEventStore(TGo4EventStoreParameter* kind);
00095 
00102     void NewEventStore(TGo4EventStoreParameter * kind);
00103 
00105     void CloseEventStore();
00106 
00111     void SetEventProcessor(TGo4EventProcessorParameter* kind);
00112 
00119     void NewEventProcessor(TGo4EventProcessorParameter * kind);
00120 
00122     void CloseEventProcessor();
00123 
00125     void NewInputEvent();
00126 
00128     void DeleteInputEvent();
00129 
00131     void NewOutputEvent();
00132 
00134     void DeleteOutputEvent();
00135 
00138     virtual void InitEventClasses();
00139 
00141     void SetSourceEnabled(Bool_t on=kTRUE) { fbSourceEnabled=on; }
00142 
00144     void SetStoreEnabled(Bool_t on=kTRUE) { fbStoreEnabled=on; }
00145 
00147     void SetProcessEnabled(Bool_t on=kTRUE) { fbProcessEnabled=on; }
00148 
00150     void SetErrorStopEnabled(Bool_t on) { fbErrorStopEnabled=on; }
00151 
00155     void ResetErrorStop() { fbErrorStopped=0; }
00156 
00161     void SetInputEvent(TGo4EventElement* in) { fxInputEvent=in; }
00162 
00164     void SetPreviousStep(TGo4AnalysisStep * pre) { fxPrevious=pre; }
00165 
00167     TGo4AnalysisStep* GetPreviousStep() { return fxPrevious; }
00168 
00172     TGo4EventElement* GetOutputEvent() { return fxOutputEvent; }
00173 
00178     TGo4EventElement* GetInputEvent() { return fxInputEvent; }
00179 
00182     TGo4EventProcessor * GetEventProcessor() { return fxEventProcessor; }
00183 
00184     Bool_t IsStoreEnabled() { return fbStoreEnabled; }
00185 
00186     Bool_t IsStoreImplemented() { return fbStoreImplemented; }
00187 
00188     Bool_t IsSourceImplemented() { return fbSourceImplemented; }
00189 
00190     Bool_t IsSourceEnabled() { return fbSourceEnabled; }
00191 
00192     Bool_t IsProcessEnabled() { return fbProcessEnabled; }
00193 
00195     Bool_t IsErrorStopped() { return fbErrorStopped; }
00196 
00198     Bool_t IsErrorStopEnabled() { return fbErrorStopEnabled; }
00199 
00201     Int_t GetProcessStatus() { return fiProcessStatus; }
00202 
00204     const char* GetStatusMessage() { fcBuffer = fcStatusMessage; return fcBuffer.Data(); }
00205 
00207     void SetStatusMessage(const char* txt) { fcStatusMessage = txt; }
00208 
00214     Bool_t IsMatchingPrevious();
00215 
00218     const char* GetEventStoreName();
00219 
00222     void StoreCalibration();
00223 
00225     Int_t Store(TGo4Parameter* cali);
00226 
00228     Int_t Store(TGo4Condition* conny);
00229 
00231     Int_t Store(TGo4Fitter* fitter);
00232 
00234     Int_t Store(TFolder* fold);
00235 
00240     void Process();
00241 
00244     void Close();
00245 
00247     void SetStatus(TGo4AnalysisStepStatus * state);
00248 
00250     TGo4AnalysisStepStatus * CreateStatus();
00251 
00252   private:
00253 
00255     TGo4Analysis* fxOwner;                       
00256 
00259     TGo4AnalysisStep * fxPrevious;               
00260 
00264     TGo4EventFactory * fxEventFactory;
00265 
00269      TGo4EventStore * fxEventStore;
00270      
00275     TGo4EventSource * fxEventSource;
00276 
00281     TGo4EventProcessor * fxEventProcessor;
00282 
00286     TGo4EventElement * fxInputEvent;
00287 
00292     TGo4EventElement * fxOutputEvent;
00293 
00298     TGo4EventSourceParameter* fxSourceType;
00299 
00304     TGo4EventStoreParameter* fxStoreType;
00305 
00310     TGo4EventProcessorParameter* fxProcessorType;
00311 
00315     Bool_t fbSourceEnabled;
00316 
00319     Bool_t fbSourceImplemented;
00320 
00324     Bool_t fbStoreEnabled;
00325 
00328     Bool_t fbStoreImplemented;
00329 
00335     Bool_t fbProcessEnabled;
00336 
00342     Bool_t fbErrorStopEnabled;
00343 
00345     Bool_t fbErrorStopped;
00346 
00348     Int_t fiProcessStatus;
00349 
00351     TString fcStatusMessage;   
00352 
00354     TString fcBuffer; 
00355    
00356   ClassDef(TGo4AnalysisStep,1)
00357 };
00358 
00359 #endif //TGO4ANALYSISSTEP_H
00360 
00361 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Tue Nov 8 10:55:49 2005 for Go4-v2.10-5 by doxygen1.2.15