00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TGO4CONDARRAY_H
00017 #define TGO4CONDARRAY_H
00018
00019 #include "TGo4Condition.h"
00020 #include "TObjArray.h"
00021
00022 class TGo4PolyCond;
00023 class TGo4WinCond;
00024
00025 class TGo4CondArray : public TGo4Condition {
00026 public:
00027 TGo4CondArray();
00028
00030 TGo4CondArray(const char* name, Int_t elements, const char* type);
00031
00033 TGo4CondArray(const Text_t* name, Int_t elements, Int_t contype);
00034
00035 virtual ~TGo4CondArray();
00036
00038 virtual TGo4ConditionPainter* CreatePainter();
00039
00041 virtual void Draw(Option_t* opt="");
00042
00046 virtual void SetPainter(TGo4ConditionPainter* painter);
00047
00049 virtual TGo4Condition* GetActiveCondition();
00050
00055 TGo4Condition * At(Int_t i);
00056
00062 TGo4WinCond* Win(Int_t i);
00063
00068 TGo4PolyCond* Poly(Int_t i);
00069
00074 TGo4Condition * operator[](Int_t i);
00075
00077 void GetValues();
00078
00080 Bool_t Test();
00081
00087 virtual Bool_t Test(Double_t x, Double_t y);
00088
00094 virtual Bool_t Test(Double_t x);
00095
00096 virtual Double_t GetXLow();
00097 virtual Double_t GetXUp();
00098 virtual Double_t GetYLow();
00099 virtual Double_t GetYUp();
00100
00102 void SetValues();
00103
00109 void PrintCondition(Bool_t points);
00110
00112 virtual void PrintBar();
00113
00114
00117 virtual Int_t GetNumberOfConditions();
00118
00123 Int_t GetNumber() const;
00124
00126 const char* GetType() const;
00127
00129 void GetType(Int_t& type) const;
00130
00132 virtual void Enable();
00133
00135 virtual void Disable(Bool_t result);
00136
00138 virtual void Invert(Bool_t on);
00139
00141 virtual void MarkReset(Bool_t on);
00142
00144 virtual void ResetCounts();
00145
00148 virtual Int_t Counts();
00149
00152 virtual Int_t TrueCounts();
00153
00155 virtual void SetValues(Double_t low1, Double_t up1);
00156
00158 virtual void SetValues(Double_t low1, Double_t up1, Double_t low2, Double_t up2);
00159
00161 void SetValues(TCutG * newcut);
00162
00164 virtual void GetFlags(Bool_t* enabled, Bool_t* lastresult, Bool_t* markreset,
00165 Bool_t* result, Bool_t* truevalue, Bool_t* falsevalue);
00166
00168 virtual void SetVisible(Bool_t on);
00169
00171 virtual Bool_t IsVisible();
00172
00174 virtual Bool_t IsChanged();
00175
00176 virtual void SetLabelDraw(Bool_t on);
00177 virtual Bool_t IsLabelDraw();
00178 virtual void SetLimitsDraw(Bool_t on);
00179 virtual Bool_t IsLimitsDraw();
00180 virtual void SetIntDraw(Bool_t on);
00181 virtual Bool_t IsIntDraw();
00182 virtual void SetXMeanDraw(Bool_t on);
00183 virtual Bool_t IsXMeanDraw();
00184 virtual void SetXRMSDraw(Bool_t on);
00185 virtual Bool_t IsXRMSDraw();
00186 virtual void SetYMeanDraw(Bool_t on);
00187 virtual Bool_t IsYMeanDraw();
00188 virtual void SetYRMSDraw(Bool_t on);
00189 virtual Bool_t IsYRMSDraw();
00190 virtual void SetXMaxDraw(Bool_t on);
00191 virtual Bool_t IsXMaxDraw();
00192 virtual void SetYMaxDraw(Bool_t on);
00193 virtual Bool_t IsYMaxDraw();
00194 virtual void SetCMaxDraw(Bool_t on);
00195 virtual Bool_t IsCMaxDraw();
00196
00199 virtual Double_t GetIntegral(TH1* histo, Option_t* opt="");
00200
00202 virtual Double_t GetMean(TH1* histo, Int_t axis=1);
00203
00205 virtual Double_t GetRMS(TH1* histo, Int_t axis=1);
00206
00208 virtual Double_t GetXMax(TH1* histo);
00209
00211 virtual Double_t GetYMax(TH1* histo);
00212
00214 virtual Double_t GetCMax(TH1* histo);
00215
00216 virtual Bool_t IsPolygonType();
00217 virtual Bool_t IsArrayType();
00218
00219 virtual void SetCurrentIndex(Int_t ix);
00220 virtual Int_t GetCurrentIndex();
00221
00222 virtual Bool_t UpdateFrom(TGo4Condition * cond, Bool_t counts);
00223
00224 private:
00226 TObjArray* condarr;
00227
00229 Int_t fiNumCond;
00230
00232 Int_t fiType;
00233
00235 Int_t fiSelectedCond;
00236
00237 ClassDef(TGo4CondArray,6)
00238 };
00239
00240 #endif //TGO4CONDARRAY_H
00241
00242