12 #ifndef ROOT_TGeoHelix 13 #define ROOT_TGeoHelix Double_t GetTotalCurvature() const
Compute helix total curvature.
void SetCharge(Int_t charge)
Positive charge means left-handed helix.
void UpdateHelix()
Update the local helix matrix.
Matrix class used for computing global transformations Should NOT be used for node definition...
void SetHelixStep(Double_t hstep)
Set Z step of the helix on a complete turn. Positive or null.
TGeoHelix()
Dummy constructor.
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.
#define ClassDef(name, id)
Bool_t IsRightHanded() const
virtual ~TGeoHelix()
Destructor.
Double_t GetXYcurvature() const
void ResetStep()
Reset current point/direction to initial values.
void SetXYcurvature(Double_t curvature)
Set XY curvature: c = 1/Rxy.
const Double_t * GetCurrentDirection() const
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)
Class representing a helix curve.
TGeoHelix & operator=(const TGeoHelix &)
Mother of all ROOT objects.
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...
const Double_t * GetCurrentPoint() const
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)