00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_TArrow
00013 #define ROOT_TArrow
00014
00015
00017
00018
00019
00020
00021
00023
00024 #ifndef ROOT_TString
00025 #include "TString.h"
00026 #endif
00027 #ifndef ROOT_TLine
00028 #include "TLine.h"
00029 #endif
00030 #ifndef ROOT_TAttFill
00031 #include "TAttFill.h"
00032 #endif
00033
00034
00035 class TArrow : public TLine, public TAttFill {
00036 protected:
00037 Float_t fAngle;
00038 Float_t fArrowSize;
00039 TString fOption;
00040
00041 public:
00042 TArrow();
00043 TArrow(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2
00044 ,Float_t arrowsize=0.05 ,Option_t *option=">");
00045 TArrow(const TArrow &arrow);
00046 virtual ~TArrow();
00047 void Copy(TObject &arrow) const;
00048 virtual void Draw(Option_t *option="");
00049 virtual void DrawArrow(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2
00050 ,Float_t arrowsize=0.05 ,Option_t *option=">");
00051 Float_t GetAngle() const {return fAngle;}
00052 Float_t GetArrowSize() const {return fArrowSize;}
00053 Option_t *GetOption() const { return fOption.Data();}
00054 virtual void Paint(Option_t *option="");
00055 virtual void PaintArrow(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2
00056 ,Float_t arrowsize=0.05 ,Option_t *option=">");
00057 virtual void SavePrimitive(ofstream &out, Option_t *option);
00058 virtual void SetAngle(Float_t angle=60) {fAngle=angle;}
00059 virtual void SetArrowSize(Float_t arrowsize=0.05) {fArrowSize=arrowsize;}
00060 virtual void SetOption(Option_t *option=">"){ fOption = option;}
00061
00062 ClassDef(TArrow,1)
00063 };
00064
00065 #endif