#ifndef ROOT_TAxis #define ROOT_TAxis //+SEQ,CopyRight,T=NOINCLUDE. ////////////////////////////////////////////////////////////////////////// // // // TAxis // // // // Axis class. // // // ////////////////////////////////////////////////////////////////////////// #ifndef ROOT_TNamed //*KEEP,TNamed. #include "TNamed.h" //*KEND. #endif #ifndef ROOT_TAttAxis //*KEEP,TAttAxis. #include "TAttAxis.h" //*KEND. #endif #ifndef ROOT_TArrayF //*KEEP,TArrayF. #include "TArrayF.h" //*KEND. #endif class TAxis : public TNamed, public TAttAxis { private: Int_t fNbins; //Number of bins Axis_t fXmin; //low edge of first bin Axis_t fXmax; //upper edge of last bin TArrayF fXbins; //Bin edges array in X Char_t *fXlabels; //!Labels associated to axis Int_t fFirst; //first bin to display Int_t fLast; //last bin to display public: TAxis(); TAxis(Int_t nbins, Axis_t xmin, Axis_t xmax); TAxis(Int_t nbins, Axis_t *xbins); TAxis(const TAxis &axis); virtual ~TAxis(); virtual void Copy(TObject &axis); virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual void Draw(Option_t *option=""); virtual void DrawAxis(Coord_t x1, Coord_t y1,Coord_t x2 ,Coord_t y2); virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); virtual Int_t FindBin(Axis_t x); virtual Axis_t GetBinCenter(Int_t bin); virtual Text_t *GetBinLabel(Int_t bin); virtual Axis_t GetBinLowEdge(Int_t bin); virtual Axis_t GetBinWidth(Int_t bin); virtual void GetCenter(Axis_t *center); virtual void GetLabel(Text_t *label); virtual void GetLowEdge(Axis_t *edge); Int_t GetNbins() const { return fNbins; } const Text_t *GetTitle() const {return fTitle.Data();} TArrayF *GetXbins() {return &fXbins;} Int_t GetFirst(); Int_t GetLast(); Axis_t GetXmin() const {return fXmin;} Axis_t GetXmax() const {return fXmax;} virtual void ls(Option_t *option=""); virtual void Paint(Option_t *option=""); virtual void PaintAxis(Coord_t x1, Coord_t y1,Coord_t x2 ,Coord_t y2); virtual void Print(Option_t *option=""); virtual void Set(Int_t nbins, Axis_t xmin, Axis_t xmax); virtual void Set(Int_t nbins, Axis_t *xbins); virtual void SetBinLabel(Int_t bin, Text_t *label); virtual void SetLabel(const Text_t *label); virtual void SetLimits(Axis_t xmin, Axis_t xmax); virtual void SetRange(Int_t first=0, Int_t last=0); ClassDef(TAxis,3) //Axis class }; #endif