Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

Helix.h

Go to the documentation of this file.
00001 //======================================================================
00002 // Auxilary class to store track paramters
00003 //
00004 // This class also provides methods for extracting gemometrical
00005 // track parameters from both ordinary charged tracks and (fitted) user 
00006 // tracks.
00007 //
00008 // Note that in the case of neutral tracks, the data members
00009 // and member functions representing helix parameters 
00010 // (IR, TL, P0, D0, Z0) become synonyms for the corresponding
00011 // ray parameters (P, T, P0, D0, Z0)
00012 // (Yes, this could have been implemented in a better way ...)
00013 //
00014 // 11/2001 K. Huettmann
00015 //======================================================================
00016 #ifndef _HELIX_H_
00017 #define _HELIX_H_
00018 
00019 #include "VfTrack.h"
00020 #include "AlTrack.h"
00021 #include "AlEflw.h"
00022 #include "AlUserTrack.h"
00023 #include "AlConcreteVertices.h"
00024 #include "fortran_def.h"
00025 
00026 
00027 class Helix: public VfTrack {
00028 public:
00029   Helix();                           // default constructor
00030   Helix(QvecBase*);                   // create Helix from a track
00031   virtual ~Helix(){}
00032   virtual void setTrackParameters(QvecBase*); // set Helix parameters according to a track
00033   float IR()const {return _IR;}      // access to data members
00034   float TL()const {return _TL;}   
00035   float P0()const {return _P0;}
00036   float D0()const {return _D0;} 
00037   float Z0()const {return _Z0;}
00038   virtual float cov_matrix(int m,int n)const {return _cov_matrix(m,n);}
00039   virtual const HepSymMatrix& cov_matrix()const {return _cov_matrix;}
00040   float mass()const {return _mass;}
00041   int charge()const {return (int)_charge;}
00042 private:
00043   // YTPAR wrapper (part of YTOP vertex fitting package)
00044   int w_YTPAR(float charge, float vini[3], float vvini[6], float psum[5], float vpsum[10], 
00045               float vpsvi[9], float trackpar[5], float vtrackpar[15]);
00046   float _IR;
00047   float _TL;   
00048   float _P0; 
00049   float _D0; 
00050   float _Z0;
00051   HepSymMatrix _cov_matrix;
00052   float _mass;
00053   float _charge;
00054 }; 
00055 
00056 #endif

Generated at Wed Jun 18 17:19:20 2003 for ALPHA++ by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001