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

Public Member Functions

 THelix3d (int charge, const double xyz[3], const double mom[3], const double mag[3])
 
 THelix3d (const THelix3d &from)
 
 THelix3d (const THelix3d *from)
 
void Clear (const char *opt=0)
 
THelix3doperator= (const THelix3d &from)
 
void Set (int charge, const double xyz[3], const double mom[3], const double bMag[3]=0)
 
THEmx3d_tSetEmx (THEmx3d_t *emx=0)
 
THEmx3d_tSetEmx (const double G[15])
 
THEmx3d_tEmx () const
 
void SetDerOn (int derOn=1)
 
int IsDerOn () const
 
void Backward ()
 Change direction.
 
double Move (double step, double F[5][5]=0)
 Move along helix.
 
double Eval (double step, double xyz[3]=0, double mom[3]=0)
 Evaluate params with given step along helix.
 
double Path (const double point[3], double xyz[3]=0, double mom[3]=0)
 Distance to nearest point to given space point. More...
 
double Dca (const double point[3], double *dcaErr=0)
 DCA to given space point (with error matrix)
 
double Path (double x, double y)
 Distance to nearest point to given 2dim point.
 
double Dca (double x, double y, double *dcaErr=0)
 DCA to given 2dim point (with error matrix)
 
const double * Pos () const
 distance and DCAxy and DCAz to given space point (with error matrix) More...
 
double * Pos ()
 
const double * Dir () const
 
double * Dir ()
 
const double * Mom () const
 
double MomTot () const
 
const double * Mag () const
 
int Charge () const
 
double Pinv () const
 
const THDer3d_tDer () const
 
const TkDir_tTkDir (int idx) const
 
void DoTkDir (TkDir_t &tkdir)
 
- Public Member Functions inherited from THelixTrack_
 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 MakeTkDir (const double T[3], const double H[3], TkDir_t &tkd)
 
static void Test ()
 
static void Test2 ()
 
static void TestDer ()
 
static void TestDer2 ()
 
static void TestErr (int charge=-1)
 
static void TestErr2 (int charge=-1)
 
static void TestErr3 (int charge=-1)
 
static void ConvertErrs (const THelixTrack_ *he, const double Bz, double G[15], double D[5][5]=0, double Di[5][5]=0)
 
static void TestConvertErrs ()
 
static void TestConvertDers ()
 
- Static Public Member Functions inherited from THelixTrack_
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 ()
 
void ToGlobal ()
 
void ToLocal ()
 
void ToGlobal (const double locX[3], const double locD[3], double gloX[3], double gloD[3], double gloP[3]) const
 
void GetdDdL (double dDdL[3]) const
 
void Build ()
 
- Protected Member Functions inherited from THelixTrack_
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 ()
 

Static Protected Member Functions

static void MakeLocal (const double T[3], const double H[3], double sys[3][3])
 

Protected Attributes

char fBeg3d [1]
 
char fDerOn
 
char fCharge
 
double fX3d [3]
 
double fP3d [3]
 
double fD3d [3]
 
double fPinv
 
double fH3d [4]
 
double fLoc [3][3]
 
double fMom
 
double fX3dPre [3]
 
double fD3dPre [3]
 
double fP3dPre [3]
 
double fPpre [3]
 
double fLen
 
char fMed3d [1]
 
THEmx3d_tfEmx3d
 
THDer3d_tfDer3d
 
char fEnd3d [1]
 
- Protected Attributes inherited from THelixTrack_
char fBeg [1]
 
double fX [3]
 
double fP [3]
 
double fRho
 
double fCosL
 
THEmx_t_fEmx
 
char fEnd [1]
 

Detailed Description

Definition at line 102 of file THelix3d.h.

Member Function Documentation

double THelix3d::Path ( const double  point[3],
double  xyz[3] = 0,
double  mom[3] = 0 
)

Distance to nearest point to given space point.

 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

double Path(double stmax, const double *surf, int nsurf ,double *x=0, double mom[3]=0, int nearest=0) const;

Definition at line 321 of file THelix3d.cxx.

References THelixTrack_::Path().

const double* THelix3d::Pos ( ) const
inline

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

Returns length to nearest point of other helix along this helix. *s2 the length along the other helix Both lengths are positive 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 161 of file THelix3d.h.

Referenced by Path().


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