31 enum EHelixRangeType {
32 kHelixT, kHelixX, kHelixY, kHelixZ, kLabX, kLabY, kLabZ, kUnchanged
36 class THelix :
public TPolyLine3D {
50 THelix& operator=(
const THelix&);
53 Double_t FindClosestPhase(Double_t phi0, Double_t cosine);
55 static Int_t fgMinNSeg;
59 THelix(Double_t x, Double_t y, Double_t z,
60 Double_t vx, Double_t vy, Double_t vz,
62 THelix(Double_t * xyz, Double_t * v, Double_t w,
63 Double_t * range=0, EHelixRangeType rtype=kHelixZ,
65 THelix(
const THelix &helix);
68 virtual void Copy(TObject &helix)
const;
69 virtual void Draw(Option_t *option=
"");
70 Option_t *GetOption()
const {
return fOption.Data();}
71 virtual void Print(Option_t *option=
"")
const;
72 virtual void SavePrimitive(std::ostream &out, Option_t *option =
"");
73 virtual void SetOption(Option_t *option=
"") {fOption = option;}
74 virtual void SetAxis(Double_t * axis);
75 virtual void SetAxis(Double_t x, Double_t y, Double_t z);
76 virtual void SetRange(Double_t * range, EHelixRangeType rtype=kHelixZ);
77 virtual void SetRange(Double_t r1, Double_t r2, EHelixRangeType rtype=kHelixZ);
78 void SetHelix(Double_t *xyz, Double_t *v, Double_t w,
79 Double_t *range=0, EHelixRangeType type=kUnchanged,