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

TGo4EventProcessor.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 TGO4EVENTPROCESSOR_H
00017 #define TGO4EVENTPROCESSOR_H
00018 
00019 #include "TGo4EventSource.h"
00020 #include <math.h>
00021 
00022 class TH1;
00023 class TH1D;
00024 class TH1F;
00025 class TH1S;
00026 class TH1I;
00027 class TH2;
00028 class TH2D;
00029 class TH2F;
00030 class TH2S;
00031 class TH2I;
00032 class TGraph;
00033 class TMultiGraph;
00034 class TCanvas;
00035 
00036 class TGo4Condition;
00037 class TGo4WinCond;
00038 class TGo4PolyCond;
00039 class TGo4CondArray;
00040 class TGo4Picture;
00041 class TGo4Parameter;
00042 
00043 class TGo4MbsEvent;
00044 class TGo4EventElement;
00045 class TGo4EventCalibration;
00046 
00057 class TGo4EventProcessor : public TGo4EventSource {
00058   friend class TGo4EventElement;
00059 
00060   public:
00061 
00062     TGo4EventProcessor(const char* name);
00063 
00064 
00065    ~TGo4EventProcessor();
00066 
00072    void SetInputEvent(TGo4EventElement * raw)
00073       {
00074          fxInputEvent=raw;
00075       }
00076 
00080    TGo4EventElement * GetInputEvent()
00081       {
00082          return fxInputEvent;
00083       }
00084 
00091    virtual Bool_t CheckInputEvent(const char* classname);
00092 
00098    void SetCalibration(TGo4EventCalibration * cali)
00099       {
00100          fxCalibration=cali;
00101       }
00102 
00106    TGo4EventCalibration * GetCalibration()
00107       {
00108          return fxCalibration;
00109       }
00110 
00117    virtual Bool_t CheckCalibration(const char* classname);
00118 
00119 
00121    Bool_t AddObject(TNamed * anything, const Text_t* subfolder=0);
00122 
00124     Bool_t AddHistogram(TH1* his, const Text_t* subfolder=0, Bool_t replace=kTRUE);
00125 
00127     Bool_t AddParameter(TGo4Parameter* par, const Text_t* subfolder=0);
00128 
00130     Bool_t  AddAnalysisCondition(TGo4Condition* con, const Text_t* subfolder=0);
00131 
00133     Bool_t AddPicture(TGo4Picture* pic, const Text_t* subfolder=0);
00134 
00136     Bool_t AddCanvas(TCanvas* can, const Text_t* subfolder=0);
00137 
00138 
00140     Bool_t RemoveHistogram(const Text_t* name);
00141 
00143     Bool_t RemoveParameter(const Text_t* name);
00144 
00146     Bool_t RemoveAnalysisCondition(const Text_t* name);
00147 
00149     Bool_t RemovePicture(const Text_t* name);
00150 
00152     Bool_t RemoveCanvas(const Text_t* name);
00153 
00155    TNamed * GetObject(const Text_t* name, const Text_t* folder=0);
00156 
00158     TH1* GetHistogram(const Text_t* name);
00159 
00161      TGo4Parameter* GetParameter(const Text_t* name);
00162 
00164     TGo4Condition*  GetAnalysisCondition(const Text_t* name);
00165 
00167      TGo4Picture* GetPicture(const Text_t* name);
00168 
00170      TCanvas* GetCanvas(const Text_t* name);
00171 
00176    TGo4EventElement* GetInputEvent(const Text_t* stepname);
00177 
00182    TGo4EventElement* GetOutputEvent(const Text_t* stepname);
00183 
00192    void Message(Int_t prio, const Text_t* text,...);
00193 
00195     void SendObjectToGUI(TNamed* ob);
00196 
00197       /* We overwrite the default TNamed::Clear that would
00198       *  erase our name and title!
00199       * Implement this method in your parameter class
00200       * if you would like to reset any values with the
00201       * eraser button in the gui remote browser*/
00202       virtual void Clear(Option_t* opt="");
00203 
00204   protected:
00205 
00207    TGo4EventProcessor(){}
00208 
00209   private:
00210 
00212    TGo4EventElement * fxInputEvent; 
00213 
00215    TGo4EventCalibration * fxCalibration;
00216   ClassDef(TGo4EventProcessor,2)
00217 };
00218 
00219 #endif //TGO4EVENTPROCESSOR_H
00220 
00221 //----------------------------END OF GO4 SOURCE FILE ---------------------

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