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_:
THelix3d THelixFitter_

Public Member Functions

 THelixTrack_ (const double *xyz, const double *dir, double rho)
 
 THelixTrack_ (const THelixTrack_ &from)
 
 THelixTrack_ (const THelixTrack_ *from)
 
THelixTrack_operator= (const THelixTrack_ &from)
 
void Set (const double *xyz, const double *dir, double rho)
 
void Set (double rho)
 
void SetEmx (const double *err2xy, const double *err2z)
 
void SetEmx (const double *err=0)
 
THEmx_t_Emx () 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=0, double *rho=0) const
 Evaluate params with given step along helix.
 
double Path (double stmax, const double *surf, int nsurf, double *x=0, double *dir=0, int nearest=0) const
 
double Path (const double point[3], double *xyz=0, double *dir=0) const
 Distance to nearest point to given space point.
 
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 * Dir () const
 
double * Dir ()
 
double GetRho () 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 TestErr ()
 
static void TestTwoHlx ()
 
static void TestBak ()
 

Protected Member Functions

void MakeMtx (double step, double F[5][5])
 
double Path (double stmin, double stmax, const double *surf, int nsurf, double *x=0, double *dir=0, int nearest=0) const
 
double PathHZ (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 fCosL
 
THEmx_t_fEmx
 
char fEnd [1]
 

Detailed Description

Definition at line 214 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 809 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 347 of file THelixTrack_.cxx.

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

Referenced by TCircleFitter_::FixAt().

void THelixTrack_::MakeMtx ( double  step,
double  F[5][5] 
)
protected

Make transformatiom matrix to transform errors called only after Eval()

Definition at line 388 of file THelixTrack_.cxx.

Referenced by Move().

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

Get current parameters 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 443 of file THelixTrack_.cxx.

Referenced by TCircleFitter_::FixAt(), THelix3d::Path(), and TestDer().

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 597 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 646 of file THelixTrack_.cxx.

References Backward(), and Eval().

void THelixTrack_::TestDer ( )
static

???

Definition at line 1446 of file THelixTrack_.cxx.

References Eval(), Move(), and Path().


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