StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
THelixTrack Class Reference
Inheritance diagram for THelixTrack:
THelixFitter THelixKFitter

Public Member Functions

 THelixTrack (const double *xyz, const double *dir, double rho, double drho=0)
 
 THelixTrack (const THelixTrack &from)
 
 THelixTrack (const THelixTrack *from)
 
THelixTrackoperator= (const THelixTrack &from)
 
void Set (const double *xyz, const double *dir, double rho, double drho=0)
 
void Set (double rho, double drho=0)
 
void SetEmx (const double *err2xy, const double *err2z)
 
void SetEmx (const double *err=0)
 
THEmx_tEmx () const
 
void StiEmx (double emx[21]) const
 
void GetSpot (const double axis[3][3], double emx[3]) const
 
void Fill (TCircle &circ) const
 
void Backward ()
 Change direction.
 
double Move (double step)
 Move along helix.
 
double Move (double step, double F[5][5])
 
double Eval (double step, double *xyz, double *dir, double &rho) const
 Evaluate params with given step along helix.
 
double Step (double step, double *xyz, double *dir, double &rho) const
 
void Get (double *xyz, double *dir, double &rho) const
 Get current parameters.
 
double Eval (double step, double *xyz, double *dir=0) const
 
double Step (double step, double *xyz, double *dir=0) const
 
void Get (double *xyz, double *dir=0) const
 
double Step (double stmax, const double *surf, int nsurf, double *x=0, double *dir=0, int nearest=0) const
 
double Path (double stmax, const double *surf, int nsurf, double *x=0, double *dir=0, int nearest=0) const
 
double Step (const double point[3], double *xyz=0, double *dir=0) const
 Distance to nearest point to given space point.
 
double Path (const double point[3], double *xyz=0, double *dir=0) const
 
double Dca (const double point[3], double *dcaErr=0) const
 DCA to given space point (with error matrix)
 
double Path (double x, double y) const
 Distance to nearest point to given 2dim point.
 
double Dca (double x, double y, double *dcaErr=0) const
 DCA to given 2dim point (with error matrix)
 
double Path (const THelixTrack &hlx, double *s2=0) const
 
double PathX (const THelixTrack &hlx, double *s2=0, double *dist=0, double *xyz=0) const
 
double Dca (const double point[3], double &dcaXY, double &dcaZ, double dcaEmx[3], int kind=3) const
 distance and DCAxy and DCAz to given space point (with error matrix) More...
 
const double * GetXYZ () const
 
const double * Pos () const
 
double * Pos ()
 
const double * GetDir () const
 
const double * Dir () const
 
double * Dir ()
 
double GetRho () const
 
double GetDRho () const
 
double GetCos () const
 
double GetSin () const
 
double GetTan () const
 
double GetPeriod () const
 
void Rot (double angle)
 
void Rot (double cosa, double sina)
 
void Show (double len, const THelixTrack *other=0) const
 
void Print (Option_t *opt="") const
 

Static Public Member Functions

static void InvertMtx (double derivs[5][5])
 
static void Test1 ()
 
static void Test2 ()
 
static void Test3 ()
 
static void Test4 ()
 
static void Test5 ()
 
static void TestMtx ()
 
static void TestDer ()
 
static void TestTwoHlx ()
 

Protected Member Functions

double Step (double stmin, double stmax, const double *surf, int nsurf, double *x=0, double *dir=0, int nearest=0) const
 
double StepHZ (const double *surf, int nsurf, double *x=0, double *dir=0, int nearest=0) const
 
void Build ()
 

Protected Attributes

char fBeg [1]
 
double fX [3]
 
double fP [3]
 
double fRho
 
double fDRho
 
double fCosL
 
THEmx_tfEmx
 
char fEnd [1]
 

Detailed Description

Definition at line 217 of file THelixTrack.h.

Member Function Documentation

double THelixTrack::Dca ( const double  point[3],
double &  dcaXY,
double &  dcaZ,
double  dcaEmx[3],
int  kind = 3 
) const

distance and DCAxy and DCAz to given space point (with error matrix)

Full 3d dca evaluation point[3] - x,y,z of vertex dcaXY - dca in xy plane dcaZ - dca in Z direction dcaEmx[3] - err(dcaXY*dcaXY),err(dcaXY*dcaZ),err(dcaZ*dcaZ) kind - 3=3d dca,2=2d dca return distance to dca point

Definition at line 838 of file THelixTrack.cxx.

References Move().

void THelixTrack::GetSpot ( const double  axis[3][3],
double  emx[3] 
) const

THelixTrack::GetSpot(double axis[3][3],emx[3]) const axis[0,1] - vectors in plane. axis[2] - normal vector of plane emx[3] error matrix of coordinates according vectors in plane.

Definition at line 378 of file THelixTrack.cxx.

References TCL::traat(), TCL::trasat(), TCL::trsa(), and TCL::trsinv().

Referenced by TCircleFitter::FixAt().

double THelixTrack::Path ( const THelixTrack hlx,
double *  s2 = 0 
) const

Returns length to nearest point of other helix along this helix. *s2 the length along the other helix Both lengths are positive

Definition at line 628 of file THelixTrack.cxx.

References Move().

double THelixTrack::PathX ( const THelixTrack hlx,
double *  s2 = 0,
double *  dist = 0,
double *  xyz = 0 
) const

Extention of previous method. Both lengths could be -ve. *dist - distance between helicies xyz[6] - 1st and 2nd space points on the helicies

Definition at line 673 of file THelixTrack.cxx.

References Backward(), and Eval().

double THelixTrack::Step ( double  stmax,
const double *  surf,
int  nsurf,
double *  x = 0,
double *  dir = 0,
int  nearest = 0 
) const

Distance to crossing 2nd order surface surf[0]+surf[1]*x+surf[2]*y+surf[3]*z +surf[4]*x*x +surf[5]*y*y+surf[6]*z*z +surf[7]*x*y +surf[8]*y*z+surf[9]*z*x == 0 nearest==0 search alon direction, else the nearest

Definition at line 474 of file THelixTrack.cxx.


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