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