12 #ifndef ROOT_TGeoHelix
13 #define ROOT_TGeoHelix
const Double_t * GetCurrentDirection() const
void SetCharge(Int_t charge)
Positive charge means left-handed helix.
void UpdateHelix()
Update the local helix matrix.
Double_t GetTotalCurvature() const
Compute helix total curvature.
void SetHelixStep(Double_t hstep)
Set Z step of the helix on a complete turn. Positive or null.
void Step(Double_t step)
Make a step from current point along the helix and compute new point, direction and angle To reach a ...
void SetField(Double_t bx, Double_t by, Double_t bz, Bool_t is_normalized=kTRUE)
Initialize particle direction (tangent on the helix in initial point)
Double_t StepToPlane(Double_t *point, Double_t *norm)
Propagate initial point up to a given Z position in MARS.
Double_t ComputeSafeStep(Double_t epsil=1E-6) const
Compute safe linear step that can be made such that the error between linear-helix extrapolation is l...
#define ClassDef(name, id)
const Double_t * GetCurrentPoint() const
virtual ~TGeoHelix()
Destructor.
void ResetStep()
Reset current point/direction to initial values.
Bool_t IsRightHanded() const
void SetXYcurvature(Double_t curvature)
Set XY curvature: c = 1/Rxy.
void InitDirection(Double_t dirx, Double_t diry, Double_t dirz, Bool_t is_normalized=kTRUE)
Initialize particle direction (tangent on the helix in initial point)
TGeoHelix & operator=(const TGeoHelix &)
Mother of all ROOT objects.
void InitPoint(Double_t x0, Double_t y0, Double_t z0)
Initialize coordinates of a point on the helix.
double norm(double *x, double *p)
Double_t GetXYcurvature() const