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

AlUserTrack.h

Go to the documentation of this file.
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  

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