#ifndef ROOT_TGaxis #define ROOT_TGaxis //+SEQ,CopyRight,T=NOINCLUDE. ////////////////////////////////////////////////////////////////////////// // // // TGaxis // // // // Button to select an angle. // // // ////////////////////////////////////////////////////////////////////////// #ifndef ROOT_TNamed //*KEEP,TNamed. #include "TNamed.h" //*KEND. #endif #ifndef ROOT_TLine //*KEEP,TLine. #include "TLine.h" //*KEND. #endif #ifndef ROOT_TAttText //*KEEP,TAttText. #include "TAttText.h" //*KEND. #endif class TGaxis : public TLine, public TAttText { private: Int_t fNdiv; //Number of divisions Float_t fWmin; //Lowest value on the axis Float_t fWmax; //Highest value on the axis Float_t fGridLength; //Length of the grid in NDC Float_t fTickSize; //Size of primary tick mark in NDC Float_t fLabelOffset; //Offset of label wrt axis Float_t fLabelSize; //Size of labels in NDC Float_t fTitleOffset; //Offset of title wrt axis Float_t fTitleSize; //Size of title in NDC Int_t fLabelFont; //Font for labels TString fChopt; //Axis options TString fName; //axis name TString fTitle; //axis title TString fTimeFormat; //Time format, ex: 09/12/99 12:34:00 public: TGaxis(); TGaxis(Float_t xmin,Float_t ymin,Float_t xmax,Float_t ymax, Float_t wmin,Float_t wmax,Int_t ndiv=510, Option_t *chopt="", Float_t gridlength = 0); virtual ~TGaxis(); virtual void AdjustBinSize(Float_t A1, Float_t A2, Int_t nold ,Float_t &BinLow, Float_t &BinHigh, Int_t &nbins, Float_t &BinWidth); virtual void CenterTitle(Bool_t center=kTRUE); virtual void Draw(Option_t *chopt=""); virtual void DrawAxis(Float_t xmin,Float_t ymin,Float_t xmax,Float_t ymax, Float_t wmin,Float_t wmax,Int_t ndiv=510, Option_t *chopt="", Float_t gridlength = 0); Float_t GetGridLength() {return fGridLength;} Int_t GetLabelFont() {return fLabelFont;} Float_t GetLabelOffset() {return fLabelOffset;} Float_t GetLabelSize() {return fLabelSize;} Float_t GetTitleOffset() {return fTitleOffset;} Float_t GetTitleSize() {return fTitleSize;} virtual const Text_t *GetName() const {return fName.Data();} virtual const Text_t *GetOption() const {return fChopt.Data();} virtual const Text_t *GetTitle() const {return fTitle.Data();} Int_t GetNdiv() {return fNdiv;} Float_t GetWmin() {return fWmin;} Float_t GetWmax() {return fWmax;} Float_t GetTickSize() {return fTickSize;} void LabelsLimits(char *label, Int_t &first, Int_t &last); virtual void Optimize(Float_t A1, Float_t A2, Int_t nold ,Float_t &BinLow, Float_t &BinHigh, Int_t &nbins, Float_t &BWID); virtual void Paint(Option_t *chopt=""); virtual void PaintAxis(Float_t xmin,Float_t ymin,Float_t xmax,Float_t ymax, Float_t &wmin,Float_t &wmax,Int_t &ndiv, Option_t *chopt="", Float_t gridlength = 0); virtual void Rotate(Float_t X, Float_t Y, Float_t CFI, Float_t SFI ,Float_t XT, Float_t YT, Float_t &U, Float_t &V); virtual void SavePrimitive(ofstream &out, Option_t *option); void SetOption(Option_t *option=""); void SetLabelFont(Int_t labelfont) {fLabelFont = labelfont;} // *MENU* void SetLabelOffset(Float_t labeloffset) {fLabelOffset = labeloffset;} // *MENU* void SetLabelSize(Float_t labelsize) {fLabelSize = labelsize;} // *MENU* virtual void SetName(Text_t *name); // *MENU* void SetTickSize(Float_t ticksize) {fTickSize = ticksize;} // *MENU* void SetGridLength(Float_t gridlength) {fGridLength = gridlength;} void SetTimeFormat(const char *tformat); virtual void SetTitle(const Text_t *title=""); // *MENU* void SetTitleOffset(Float_t titleoffset=1) {fTitleOffset = titleoffset;} // *MENU* void SetTitleSize(Float_t titlesize) {fTitleSize = titlesize;} // *MENU* void SetWmin(Float_t wmin) {fWmin = wmin;} void SetWmax(Float_t wmax) {fWmax = wmax;} ClassDef(TGaxis,1) //Graphics axis }; #endif