12#include <TPolyLine3D.h>
18#ifndef ZEVIS_EZHelixRangeType
19#define ZEVIS_EZHelixRangeType
29#ifndef ZEVIS_TrackType
30#define ZEVIS_TrackType
42class ZHelix :
public TPolyLine3D {
68 ZHelix(Double_t Azim, Double_t QovR, Double_t QxDh, Double_t refx,
69 Double_t refy, Double_t refz, Double_t TDip, Double_t phii,
70 Double_t phio, Float_t Chi2, Int_t NDoF,
72 Double_t RangeMin = 0, Double_t RangeMax = 2*TMath::Pi());
75 void Phi2XYZ(Double_t phi, Double_t& x, Double_t& y, Double_t& z);
76 void Phi2ZR(Double_t phi, Double_t& z, Double_t& r);
78 Double_t RangeMin, Double_t RangeMax);
86 virtual void Print(Option_t *option =
"")
const;
87 virtual void Draw(Option_t *option =
"3D");
88 virtual void Paint(Option_t *option =
"3D");
91 inline virtual Int_t
SetNextPoint(Double_t x, Double_t y, Double_t z) {
92 return TPolyLine3D::SetNextPoint(
x, y, z);
94 inline virtual void SetPoint(Int_t point, Double_t x, Double_t y, Double_t z) {
95 TPolyLine3D::SetPoint(point,
x, y, z);
97 inline virtual void Delete(Option_t *option) { TObject::Delete(option); }
98 inline virtual void DrawClass() { TObject::DrawClass(); }
99 inline virtual void DrawClone(Option_t *option) { TObject::DrawClone(option); }
100 inline virtual void SetDrawOption(Option_t *option) { TObject::SetDrawOption(option); }
Double_t R2Phi(Double_t r)
void Phi2ZR(Double_t phi, Double_t &z, Double_t &r)
virtual void DrawClone(Option_t *option)
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual Int_t SetNextPoint(Double_t x, Double_t y, Double_t z)
virtual void Print(Option_t *option="") const
void SetRange(EZHelixRangeType RangeType, Double_t RangeMin, Double_t RangeMax)
Double_t Y2Phi(Double_t y)
virtual void SetPoints(Option_t *option="3D")
ZHelix(Double_t Azim, Double_t QovR, Double_t QxDh, Double_t refx, Double_t refy, Double_t refz, Double_t TDip, Double_t phii, Double_t phio, Float_t Chi2, Int_t NDoF, EZHelixRangeType RangeType=kHelixPhi, Double_t RangeMin=0, Double_t RangeMax=2 *TMath::Pi())
void SetTrackType(TrackType tt)
Double_t fPhiI
sign of radius
Double_t X2Phi(Double_t x)
void Phi2XYZ(Double_t phi, Double_t &x, Double_t &y, Double_t &z)
virtual void Paint(Option_t *option="3D")
virtual void Draw(Option_t *option="3D")
Double_t Phi2S(Double_t phi)
virtual void SetDrawOption(Option_t *option)
virtual void Delete(Option_t *option)
virtual void SetPoint(Int_t point, Double_t x, Double_t y, Double_t z)
Double_t Z2Phi(Double_t z)