00001 00002 // 00003 // CLASS AlUserTrack: 00004 // Class for user tracks, inherits from QvecBase 00005 // 00006 // Author : K. Huettmann 00007 // 00009 00010 00011 #ifndef _ALUSERTRACK_H_ 00012 #define _ALUSERTRACK_H_ 00013 00014 #include "AlephCollection.h" 00015 #include "QvecBase.h" 00016 #include "CLHEP/Matrix/SymMatrix.h" 00017 00018 00019 class AlUserTrack: public QvecBase { 00020 public: 00021 00022 // default constructor 00023 AlUserTrack(); 00024 00025 //copy constructor 00026 AlUserTrack(const AlUserTrack& rhsAt); 00027 00028 // defined in AlObject.h 00029 ALEPHTYPE TYPE() const {return USERTRACK;} 00030 00031 AlephCollection<AlObject*>& getDaughters(); 00032 void addDaughter(AlObject* d); 00033 00034 // Various ways to access track helix covariance matrix 00035 float EM(int i) const; 00036 float EM(int m, int n) const; 00037 HepSymMatrix& EM(); 00038 void setEM(int i, float val); 00039 void setEM(const HepSymMatrix& em); 00040 00041 // Various ways to access kinematic track covariance matrix 00042 float SIG(int i) const; // Triangular covariance matrix. This one is compatible with AlTrack::SIG(int ) 00043 float EM_kin(int m, int n) const; 00044 HepSymMatrix& EM_kin(); 00045 void setEM_kin(int i, float val); 00046 void setEM_kin(const HepSymMatrix& em); 00047 float SIGEE() const; 00048 float SIGPP() const; 00049 float SIGMM() const; 00050 00051 // Various ways to access track-vertex correlation matrix 00052 float corrMatrix(int m, int n) const; 00053 HepMatrix& corrMatrix(); 00054 void setCorrMatrix(int i, int j, float val); 00055 void setCorrMatrix(const HepMatrix& cm); 00056 00057 virtual ~AlUserTrack(){} 00058 00059 private: 00060 // pointers to objects the track was built of 00061 AlephCollection<AlObject*> _daughters; 00062 // track helix covariance matrix (5 x 5: IR, TL, P0, D0, Z0) 00063 HepSymMatrix _EM; 00064 // Kinematic track covariance matrix (4 x 4, (E,p)) 00065 HepSymMatrix _EM_kin; 00066 // Correlation matrix track-vertex 00067 HepMatrix _corr_track_vertex; 00068 00069 }; 00070 #endif 00071