ROOT logo
#ifndef TCURLYLINEWITHARROW
#define TCURLYLINEWITHARROW
#include "TArrow.h"
#include "TCurlyLine.h"

class TCurlyLineWithArrow;
//_________________________________________________________________

class TCurlyLineArrow : public TArrow {
private:
   TCurlyLineWithArrow *fParent;
   Int_t fWhere;
public:
   TCurlyLineArrow(){};
   TCurlyLineArrow(Double_t x1, Double_t y1, Double_t x2, Double_t y2,
              Float_t arrowsize=0.05,Option_t *option="|>");
   ~TCurlyLineArrow(){};
//   void Paint(const Option_t *opt) {};
   void  SetWhere(Int_t where) {fWhere = where;}
   Int_t GetWhere() {return fWhere;}
   void SetParent(TCurlyLineWithArrow *p) {fParent = p;};
   void ExecuteEvent(Int_t event, Int_t px, Int_t py);
 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,12,0)
   void SavePrimitive(std::ostream &, Option_t *){};     // dont write to .C file
 #else
   void SavePrimitive(std::ofstream &, Option_t *){};     // dont write to .C file
 #endif
ClassDef(TCurlyLineArrow,1)
};

class TCurlyLineWithArrow : public TCurlyLine {

private:
   Double_t fX1;
   Double_t fY1;
   Double_t fX2;
   Double_t fY2;
   Int_t    fWhere;
   Float_t  fDefaultArrowSize;
   TCurlyLineArrow * fArrowStart;
   TCurlyLineArrow * fArrowEnd;
public:
   TCurlyLineWithArrow(){};
   TCurlyLineWithArrow(Double_t x1, Double_t y1, Double_t x2, Double_t y2,
              Double_t wl = .02, Double_t amp = .01,
              Int_t where = 2, Float_t arrowsize=0);
   ~TCurlyLineWithArrow(){};
   void SetX1(Double_t v) {fX1 = v;}
   void SetX2(Double_t v) {fX2 = v;}
   void SetY1(Double_t v) {fY1 = v;}
   void SetY2(Double_t v) {fY2 = v;}
   Double_t GetX1() {return fX1;}
   Double_t GetX2() {return fX2;}
   Double_t GetY1() {return fY1;}
   Double_t GetY2() {return fY2;}
//   void AddArrow(Int_t where, Float_t arrowsize=0) {}; // *MENU*
   void SetArrowSize(Int_t where = 2, Float_t arrowsize = 0);  // *MENU*
   Double_t GetDistToArrow(Int_t where);
   TCurlyLineArrow * GetArrowStart() { return fArrowStart;}
   TCurlyLineArrow * GetArrowEnd() { return fArrowEnd;}
   Float_t GetDefaultArrowSize () { return fDefaultArrowSize; };
   void  SetWhere(Int_t where) {fWhere = where;}
   Int_t GetWhere() {return fWhere;}
   void Paint(const Option_t *option="|>");
   void ExecuteEvent(Int_t event, Int_t px, Int_t py);
 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,12,0)
   void SavePrimitive(std::ostream &, Option_t *);
 #else
   void SavePrimitive(std::ofstream &, Option_t *);
 #endif
ClassDef(TCurlyLineWithArrow,1)
};
#endif
 TCurlyLineWithArrow.h:1
 TCurlyLineWithArrow.h:2
 TCurlyLineWithArrow.h:3
 TCurlyLineWithArrow.h:4
 TCurlyLineWithArrow.h:5
 TCurlyLineWithArrow.h:6
 TCurlyLineWithArrow.h:7
 TCurlyLineWithArrow.h:8
 TCurlyLineWithArrow.h:9
 TCurlyLineWithArrow.h:10
 TCurlyLineWithArrow.h:11
 TCurlyLineWithArrow.h:12
 TCurlyLineWithArrow.h:13
 TCurlyLineWithArrow.h:14
 TCurlyLineWithArrow.h:15
 TCurlyLineWithArrow.h:16
 TCurlyLineWithArrow.h:17
 TCurlyLineWithArrow.h:18
 TCurlyLineWithArrow.h:19
 TCurlyLineWithArrow.h:20
 TCurlyLineWithArrow.h:21
 TCurlyLineWithArrow.h:22
 TCurlyLineWithArrow.h:23
 TCurlyLineWithArrow.h:24
 TCurlyLineWithArrow.h:25
 TCurlyLineWithArrow.h:26
 TCurlyLineWithArrow.h:27
 TCurlyLineWithArrow.h:28
 TCurlyLineWithArrow.h:29
 TCurlyLineWithArrow.h:30
 TCurlyLineWithArrow.h:31
 TCurlyLineWithArrow.h:32
 TCurlyLineWithArrow.h:33
 TCurlyLineWithArrow.h:34
 TCurlyLineWithArrow.h:35
 TCurlyLineWithArrow.h:36
 TCurlyLineWithArrow.h:37
 TCurlyLineWithArrow.h:38
 TCurlyLineWithArrow.h:39
 TCurlyLineWithArrow.h:40
 TCurlyLineWithArrow.h:41
 TCurlyLineWithArrow.h:42
 TCurlyLineWithArrow.h:43
 TCurlyLineWithArrow.h:44
 TCurlyLineWithArrow.h:45
 TCurlyLineWithArrow.h:46
 TCurlyLineWithArrow.h:47
 TCurlyLineWithArrow.h:48
 TCurlyLineWithArrow.h:49
 TCurlyLineWithArrow.h:50
 TCurlyLineWithArrow.h:51
 TCurlyLineWithArrow.h:52
 TCurlyLineWithArrow.h:53
 TCurlyLineWithArrow.h:54
 TCurlyLineWithArrow.h:55
 TCurlyLineWithArrow.h:56
 TCurlyLineWithArrow.h:57
 TCurlyLineWithArrow.h:58
 TCurlyLineWithArrow.h:59
 TCurlyLineWithArrow.h:60
 TCurlyLineWithArrow.h:61
 TCurlyLineWithArrow.h:62
 TCurlyLineWithArrow.h:63
 TCurlyLineWithArrow.h:64
 TCurlyLineWithArrow.h:65
 TCurlyLineWithArrow.h:66
 TCurlyLineWithArrow.h:67
 TCurlyLineWithArrow.h:68
 TCurlyLineWithArrow.h:69
 TCurlyLineWithArrow.h:70
 TCurlyLineWithArrow.h:71
 TCurlyLineWithArrow.h:72
 TCurlyLineWithArrow.h:73