00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
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
00198
00199
00200
00201
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