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
00021 class TObjArray;
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 char* 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
00078
00084 virtual Bool_t Test(Double_t x, Double_t y);
00085
00091 virtual Bool_t Test(Double_t x);
00092
00094
00095
00096
00097 virtual Double_t GetXLow();
00098 virtual Double_t GetXUp();
00099 virtual Double_t GetYLow();
00100 virtual Double_t GetYUp();
00101
00103
00104
00106 virtual void SetValues(Double_t low1, Double_t up1);
00107
00109 virtual void SetValues(Double_t low1, Double_t up1, Double_t low2, Double_t up2);
00110
00112 virtual void SetValues(TCutG * newcut);
00113
00115
00116
00117
00123 void PrintCondition(Bool_t points);
00124
00126 virtual void PrintBar();
00127
00128
00131 virtual Int_t GetNumberOfConditions();
00132
00137 Int_t GetNumber() const;
00138
00140 const char* GetType() const;
00141
00143 void GetType(Int_t& type) const;
00144
00146 virtual void Enable();
00147
00149 virtual void Disable(Bool_t result);
00150
00152 virtual void Invert(Bool_t on);
00153
00155 virtual void MarkReset(Bool_t on);
00156
00158 virtual void ResetCounts();
00159
00162 virtual Int_t Counts();
00163
00166 virtual Int_t TrueCounts();
00167
00169 virtual void GetFlags(Bool_t* enabled, Bool_t* lastresult, Bool_t* markreset,
00170 Bool_t* result, Bool_t* truevalue, Bool_t* falsevalue);
00171
00173 virtual void SetVisible(Bool_t on);
00174
00176 virtual Bool_t IsVisible();
00177
00179 virtual void SetChanged(Bool_t on);
00180
00182 virtual Int_t IsChanged();
00183
00184 virtual void SetLabelDraw(Bool_t on);
00185 virtual Bool_t IsLabelDraw();
00186 virtual void SetLimitsDraw(Bool_t on);
00187 virtual Bool_t IsLimitsDraw();
00188 virtual void SetIntDraw(Bool_t on);
00189 virtual Bool_t IsIntDraw();
00190 virtual void SetXMeanDraw(Bool_t on);
00191 virtual Bool_t IsXMeanDraw();
00192 virtual void SetXRMSDraw(Bool_t on);
00193 virtual Bool_t IsXRMSDraw();
00194 virtual void SetYMeanDraw(Bool_t on);
00195 virtual Bool_t IsYMeanDraw();
00196 virtual void SetYRMSDraw(Bool_t on);
00197 virtual Bool_t IsYRMSDraw();
00198 virtual void SetXMaxDraw(Bool_t on);
00199 virtual Bool_t IsXMaxDraw();
00200 virtual void SetYMaxDraw(Bool_t on);
00201 virtual Bool_t IsYMaxDraw();
00202 virtual void SetCMaxDraw(Bool_t on);
00203 virtual Bool_t IsCMaxDraw();
00204
00207 virtual Double_t GetIntegral(TH1* histo, Option_t* opt="");
00208
00210 virtual Double_t GetMean(TH1* histo, Int_t axis=1);
00211
00213 virtual Double_t GetRMS(TH1* histo, Int_t axis=1);
00214
00216 virtual Double_t GetXMax(TH1* histo);
00217
00219 virtual Double_t GetYMax(TH1* histo);
00220
00222 virtual Double_t GetCMax(TH1* histo);
00223
00224 virtual Bool_t IsPolygonType();
00225 virtual Bool_t IsArrayType();
00226
00227 virtual void SetCurrentIndex(Int_t ix);
00228 virtual Int_t GetCurrentIndex();
00229
00230 virtual Bool_t UpdateFrom(TGo4Condition * cond, Bool_t counts);
00231
00232 virtual Int_t GetMemorySize();
00233
00234 private:
00236 TObjArray* condarr;
00237
00239 Int_t fiNumCond;
00240
00242 Int_t fiType;
00243
00245 Int_t fiSelectedCond;
00246
00247 ClassDef(TGo4CondArray,6)
00248 };
00249
00250 #endif //TGO4CONDARRAY_H
00251
00252