StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
StPicoHelix Class Reference

Helix parametrization that uses ROOT TVector3. More...

#include <StPicoHelix.h>

Inheritance diagram for StPicoHelix:
StPicoPhysicalHelix

Public Member Functions

 StPicoHelix ()
 Default constructor.
 
 StPicoHelix (Double_t c, Double_t dip, Double_t phase, const TVector3 &o, Int_t h=-1)
 
 StPicoHelix (const StPicoHelix &)
 Copy constructor.
 
virtual ~StPicoHelix ()
 Destructor.
 
Double_t dipAngle () const
 Return dip angle.
 
Double_t curvature () const
 Return curvature: 1/R in xy-plane.
 
Double_t phase () const
 Return phase: aziumth in xy-plane measured from ring center.
 
Double_t xcenter () const
 Return x-center of circle in xy-plane.
 
Double_t ycenter () const
 Return y-center of circle in xy-plane.
 
Int_t h () const
 Return -sign(q*B);.
 
const TVector3 & origin () const
 Return origin of the helix = starting point.
 
void setParameters (Double_t c, Double_t dip, Double_t phase, const TVector3 &o, Int_t h)
 Set helix parameters.
 
Double_t x (Double_t s) const
 coordinates of helix at point s
 
Double_t y (Double_t s) const
 
Double_t z (Double_t s) const
 
TVector3 at (Double_t s) const
 
Double_t cx (Double_t s) const
 pointing vector of helix at point s
 
Double_t cy (Double_t s) const
 
Double_t cz (Double_t s=0) const
 
TVector3 cat (Double_t s) const
 
Double_t period () const
 returns period length of helix
 
pair< Double_t, Double_t > pathLength (Double_t r) const
 path length at given r (cylindrical r)
 
pair< Double_t, Double_t > pathLength (Double_t r, Double_t x, Double_t y)
 path length at given r (cylindrical r, cylinder axis at x,y)
 
Double_t pathLength (const TVector3 &p, Bool_t scanPeriods=true) const
 path length at distance of closest approach to a given point
 
Double_t pathLength (const TVector3 &r, const TVector3 &n) const
 path length at intersection with plane
 
Double_t pathLength (Double_t x, Double_t y) const
 path length at distance of closest approach in the xy-plane to a given point
 
pair< Double_t, Double_t > pathLengths (const StPicoHelix &, Double_t minStepSize=10 *micrometer, Double_t minRange=10 *centimeter) const
 path lengths at dca between two helices
 
Double_t distance (const TVector3 &p, Bool_t scanPeriods=true) const
 minimal distance between point and helix
 
Bool_t valid (Double_t world=1.e+5) const
 checks for valid parametrization
 
Int_t bad (Double_t world=1.e+5) const
 
virtual void moveOrigin (Double_t s)
 Move the origin along the helix to s which becomes then s=0.
 

Static Public Attributes

static const Double_t NoSolution = 3.e+33
 

Protected Member Functions

void setCurvature (Double_t)
 Set curvature of the helix.
 
void setPhase (Double_t)
 Set phase of the helix. More...
 
void setDipAngle (Double_t)
 Set dip angle of the helix.
 
Double_t fudgePathLength (const TVector3 &) const
 Value of S where distance in x-y plane is minimal.
 

Protected Attributes

Bool_t mSingularity
 true for straight line case (B=0)
 
TVector3 mOrigin
 starting point of a helix
 
Double_t mDipAngle
 Dip angle.
 
Double_t mCurvature
 Curvature = 1/R.
 
Double_t mPhase
 Phase.
 
Int_t mH
 -sign(q*B);
 
Double_t mCosDipAngle
 Cos of dip angle.
 
Double_t mSinDipAngle
 Sin of dip angle.
 
Double_t mCosPhase
 Cos of phase.
 
Double_t mSinPhase
 

Detailed Description

Helix parametrization that uses ROOT TVector3.

Parametrization of a helix (modification of StHelix). Can also cope with straight tracks, i.e. with zero curvature. This represents only the mathematical model of a helix. See the SCL user guide for more.

Author
Grigory Nigmatkulov, May 07 2018

Definition at line 38 of file StPicoHelix.h.

Constructor & Destructor Documentation

StPicoHelix::StPicoHelix ( Double_t  c,
Double_t  dip,
Double_t  phase,
const TVector3 &  o,
Int_t  h = -1 
)

Constructor that takes next arguments: curvature, dip angle, phase, origin, h

Definition at line 40 of file StPicoHelix.cxx.

References setParameters().

Member Function Documentation

void StPicoHelix::setPhase ( Double_t  val)
protected

Set phase of the helix.

performs also various checks

Definition at line 120 of file StPicoHelix.cxx.

References mCosPhase, and mPhase.

Referenced by moveOrigin(), setCurvature(), setParameters(), and StPicoPhysicalHelix::StPicoPhysicalHelix().


The documentation for this class was generated from the following files: