/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/MdcPatRec/TrkBase/TrkBase-00-01-12/TrkBase/TrkParams.h

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 // File and Version Information:
00003 //      $Id: TrkParams.h,v 1.1.1.1 2005/04/21 06:01:42 zhangy Exp $
00004 //
00005 // Description:
00006 //  Class to the parameters of a track.  This class should be thought
00007 //  of as a structure, storing the data objects which together form the
00008 //  parameter set of a track. The
00009 //  direct use of this class will be to describe 'simple' trajectories 
00010 //  (5-parameter helix, parabolic tracks, 6 parameter helix, 
00011 //  even 9 parameter helix).  
00012 //
00013 // Environment:
00014 //      Software developed for the BaBar Detector at the SLAC B-Factory.
00015 //
00016 //--------------------------------------------------------------------------
00017 #ifndef TRKPARAMS_H
00018 #define TRKPARAMS_H
00019 
00020 #include "MdcRecoUtil/DifIndepPar.h"
00021 
00022 #include <iosfwd>
00023 
00024 class TrkParams : public DifIndepPar {
00025 public:
00026   //**************************
00027   //  Constructors and such
00028   //**************************
00029   TrkParams(int nParam);
00030   //  Construct from a vector and error matrix
00031   TrkParams(const HepVector&,const HepSymMatrix&);
00032   //  Copy constructor
00033   TrkParams(const TrkParams&);
00034   TrkParams& operator = (const TrkParams&);
00035   virtual TrkParams* clone() const;
00036   virtual ~TrkParams();
00037 
00038   //**************************
00039   //  access
00040   //**************************
00041   void printAll(std::ostream& os) const;
00042   
00043   // overloaded to invalidate caching. dangerous because non-virtual
00044   inline HepSymMatrix& covariance() ;
00045   inline const HepSymMatrix& covariance() const { return DifIndepPar::covariance(); }
00046 
00047   const HepSymMatrix& weightMatrix() const ;
00048 
00049 private:
00050   mutable bool _weightInverted; //is the weight matrix cached?
00051   mutable HepSymMatrix _weightMatrix; //the inverse of the weight matrix
00052 };
00053 
00054 inline HepSymMatrix& TrkParams::covariance()
00055 {
00056   _weightInverted=false ; 
00057   return DifIndepPar::covariance();
00058 }
00059 
00060 #endif
00061 

Generated on Tue Nov 29 23:13:42 2016 for BOSS_7.0.2 by  doxygen 1.4.7