00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ROOT_TVirtualHistPainter
00012 #define ROOT_TVirtualHistPainter
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef ROOT_TObject
00024 #include "TObject.h"
00025 #endif
00026
00027 class TClass;
00028 class TH1;
00029 class TF1;
00030 class TList;
00031
00032 class TVirtualHistPainter : public TObject {
00033
00034 private:
00035 static TClass *fgPainter;
00036
00037 public:
00038 TVirtualHistPainter() { }
00039 virtual ~TVirtualHistPainter() { }
00040 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) = 0;
00041 virtual void DrawPanel() = 0;
00042 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) = 0;
00043 virtual TList *GetContourList(Double_t contour) const = 0;
00044 virtual char *GetObjectInfo(Int_t px, Int_t py) const = 0;
00045 virtual TList *GetStack() const = 0;
00046 virtual Bool_t IsInside(Int_t x, Int_t y) = 0;
00047 virtual Bool_t IsInside(Double_t x, Double_t y) = 0;
00048 virtual void Paint(Option_t *option="") = 0;
00049 virtual void PaintStat(Int_t dostat, TF1 *fit) = 0;
00050 virtual void ProcessMessage(const char *mess, const TObject *obj) = 0;
00051 virtual void SetHistogram(TH1 *h) = 0;
00052 virtual void SetStack(TList *stack) = 0;
00053 virtual Int_t MakeCuts(char *cutsopt) = 0;
00054 virtual void SetShowProjection(const char *option, Int_t nbins) = 0;
00055
00056 static TVirtualHistPainter *HistPainter(TH1 *obj);
00057 static void SetPainter(const char *painter);
00058
00059 ClassDef(TVirtualHistPainter,0)
00060 };
00061
00062 #endif