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
StHelix Class Reference

#include <StHelix.hh>

Inheritance diagram for StHelix:
StPhysicalHelix StFtpcTrack

Public Member Functions

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

Static Public Attributes

static const double NoSolution = 3.e+33
 

Protected Member Functions

void setCurvature (double)
 
void setPhase (double)
 performs also various checks
 
void setDipAngle (double)
 
double fudgePathLength (const StThreeVector< double > &) const
 value of S where distance in x-y plane is minimal
 

Protected Attributes

bool mSingularity
 
StThreeVector< double > mOrigin
 
double mDipAngle
 
double mCurvature
 
double mPhase
 
int mH
 
double mCosDipAngle
 
double mSinDipAngle
 
double mCosPhase
 
double mSinPhase
 

Detailed Description

Author
Thomas Ullrich, Sep 26 1997

Parametrization of a helix. 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.

Definition at line 65 of file StHelix.hh.


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