00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ROO_PLOTABLE
00017 #define ROO_PLOTABLE
00018
00019 #include "Rtypes.h"
00020 #include "TString.h"
00021 #include "RooPrintable.h"
00022
00023 class TObject;
00024 class RooArgSet;
00025
00026 class RooPlotable : public RooPrintable {
00027 public:
00028 inline RooPlotable() : _ymin(0), _ymax(0), _normValue(0) { }
00029 inline virtual ~RooPlotable() { }
00030
00031 inline const char* getYAxisLabel() const { return _yAxisLabel.Data(); }
00032 inline void setYAxisLabel(const char *label) { _yAxisLabel= label; }
00033 inline void updateYAxisLimits(Double_t y) {
00034 if(y > _ymax) _ymax= y;
00035 if(y < _ymin) _ymin= y;
00036 }
00037 inline void setYAxisLimits(Double_t ymin, Double_t ymax) {
00038 _ymin = ymin ;
00039 _ymax = ymax ;
00040 }
00041 inline Double_t getYAxisMin() const { return _ymin; }
00042 inline Double_t getYAxisMax() const { return _ymax; }
00043
00044
00045
00046 virtual Double_t getFitRangeNEvt() const = 0;
00047 virtual Double_t getFitRangeNEvt(Double_t xlo, Double_t xhi) const = 0;
00048 virtual Double_t getFitRangeBinW() const = 0;
00049
00050 virtual void printMultiline(ostream& os, Int_t contents, Bool_t verbose=kFALSE, TString indent= "") const;
00051
00052 TObject *crossCast();
00053 protected:
00054 TString _yAxisLabel;
00055 Double_t _ymin, _ymax, _normValue;
00056 ClassDef(RooPlotable,1)
00057 };
00058
00059 #endif