Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef TGO4POLYCOND_H
00015 #define TGO4POLYCOND_H
00016
00017 #include "TGo4Condition.h"
00018
00019 class TH1;
00020 class TH2;
00021
00022 class TGo4PolyCond : public TGo4Condition {
00023 public:
00024 TGo4PolyCond();
00025
00026 TGo4PolyCond(const char* name, const char* title = "Go4 polygon condition");
00027
00028 virtual ~TGo4PolyCond();
00029
00031 virtual TGo4ConditionPainter* CreatePainter();
00032
00036 virtual void SetPainter(TGo4ConditionPainter* painter);
00037
00038
00039
00040
00041
00043 virtual void SetValues(Double_t * x, Double_t * y, Int_t len);
00044
00046 virtual void SetValues(TCutG * newcut);
00047
00049 void SetValuesDirect(TCutG * newcut);
00050
00051
00052
00053
00054
00056 virtual Bool_t Test(Double_t x, Double_t y);
00057
00059 virtual Double_t GetXLow();
00060
00062 virtual Double_t GetXUp();
00063
00065 virtual Double_t GetYLow();
00066
00068 virtual Double_t GetYUp();
00069
00076 TCutG* GetCut(Bool_t changeowner);
00077
00079 virtual void PrintCondition(Bool_t points = kTRUE);
00080
00083 Bool_t UpdateFrom(TGo4Condition * cond, Bool_t counts);
00084
00086 virtual Double_t GetIntegral(TH1* histo, Option_t* opt="");
00087
00089 virtual Double_t GetMean(TH1* histo, Int_t axis=1);
00090
00092 virtual Double_t GetRMS(TH1* histo, Int_t axis=1);
00093
00095 virtual Double_t GetXMax(TH1* histo);
00096
00098 virtual Double_t GetYMax(TH1* histo);
00099
00101 virtual Double_t GetCMax(TH1* histo);
00102
00103 virtual Bool_t IsPolygonType();
00104
00105 virtual Int_t GetMemorySize();
00106
00108 virtual void SavePrimitive(std::ostream& fs, Option_t* = "");
00109
00112 static void CleanupSpecials();
00113
00114 static TString NextAvailableName();
00115
00116 private:
00120 TCutG * CloneCut(TGo4PolyCond * source);
00121
00125 TH2* CreateCutHistogram(TH1* source);
00126
00128 TCutG* fxCut;
00129
00130 ClassDef(TGo4PolyCond,6)
00131 };
00132
00133 #endif //TGO4POLYCOND_H