41 const double phiFactor = 1000.;
43 x2 = pos.Phi() * phiFactor;
48 x2 = pos.Phi() * pos.Perp();
68 const double phiFactor = 1000.;
71 TVector3 pos2(pos+dir);
72 x2 = (pos2.Phi() - pos.Phi()) * phiFactor;
84 x2 = dir.Phi() * dir.Perp();
87 double length = sqrt(x1*x1 + x2*x2);
97 if(p != 0 && p != 1 && p != 2 && p != 3 && p != 4)
98 std::cout <<
"ERROR Wrong projection " << std::endl;
114 double xu1 = x1 + 0.5*dx1*
length;
115 double xu2 = x2 + 0.5*dx2*
length;
116 double xl1 = x1 - 0.5*dx1*
length;
117 double xl2 = x2 - 0.5*dx2*
length;
119 return new TLine(xu1,xu2,xl1,xl2);
130 return new TLine(x1,y1,x2,y2);
140 double xu1 = x1 + 0.5*dx2*
length;
141 double xu2 = x2 - 0.5*dx1*
length;
142 double xl1 = x1 - 0.5*dx2*
length;
143 double xl2 = x2 + 0.5*dx1*
length;
145 return new TLine(xu1,xu2,xl1,xl2);
158 return new TArrow(x1, x2, x1+dx1*
length, x2+dx2*
length);
171 return new TPolyLine(3,
x,
y);
180 return new TArc(x1,x2,
r);
192 return new TBox(x1,x2,y1,y2);
198 return new TText(x1, x2, text);
206 return new TEllipse(x1, x2, r1, r2);
TLine * createOrthogonalLine(const TVector3 &pos, const TVector3 &dir, double length)
void applyProjection(const TVector3 &pos, double &x1, double &x2)
void applyDirectionProjectionUnit(const TVector3 &dir, double &x1, double &x2, const TVector3 &pos)
TArrow * createArrow(const TVector3 &pos, const TVector3 &dir, double length)
TLine * createLine(const TVector3 &pos, const TVector3 &dir, double length)
TArc * createArc(const TVector3 &pos, double r)
TBox * createBox(const TVector3 &upperleft, const TVector3 &lowerright)
void setProjection(int p)
TText * createText(const TVector3 &pos, const char *text)
TPolyLine * createTriangle(const TVector3 &pos, const TVector3 &dir, double length)
TEllipse * createEllipse(const TVector3 &pos, double r1, double r2)