/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/TrkReco/TrkReco-00-08-59-patch4-slc6tag/TrkReco/TCosmicFitter.h

Go to the documentation of this file.
00001 //-----------------------------------------------------------------------------
00002 // $Id: TCosmicFitter.h,v 1.8 2010/03/31 09:58:59 liucy Exp $
00003 //-----------------------------------------------------------------------------
00004 // Filename : TCosmicFitter.h
00005 // Section  : Tracking
00006 // Owner    : Jun-ichi Suzuki
00007 // Email    : jsuzuki@bmail.kek.jp
00008 //-----------------------------------------------------------------------------
00009 // Description : A class to fit a TTrackBase object to a helix.
00010 //               See http://bsunsrv1.kek.jp/~yiwasaki/tracking/
00011 //-----------------------------------------------------------------------------
00012 
00013 #ifndef TCOSMICFITTER_FLAG_
00014 #define TCOSMICFITTER_FLAG_
00015 
00016 #ifdef TRKRECO_DEBUG_DETAIL
00017 #ifndef TRKRECO_DEBUG
00018 #define TRKRECO_DEBUG
00019 #endif
00020 #endif
00021 #include "TrkReco/TMFitter.h"
00022 #define HEP_SHORT_NAMES
00023 #include "CLHEP/Matrix/Vector.h"
00024 //#include "helix/Helix.h"
00025 //#include "TrkReco/Helix.h"
00026 #include "TrackUtil/Helix.h"
00027 
00028 #include "GaudiKernel/IInterface.h"
00029 #include "GaudiKernel/Kernel.h"
00030 #include "GaudiKernel/Service.h"
00031 #include "MagneticField/IMagneticFieldSvc.h"
00032 #include "MagneticField/MagneticFieldSvc.h"
00033 
00034 #include "CLHEP/Matrix/Vector.h"
00035 #include "CLHEP/Matrix/SymMatrix.h"
00036 #include "CLHEP/Vector/ThreeVector.h"
00037 #include "CLHEP/Vector/LorentzVector.h"
00038 
00039 
00040 using CLHEP::HepVector;
00041 
00042 class TMLink;
00043 
00045 class TCosmicFitter : public TMFitter {
00046 
00047   public:
00049     TCosmicFitter(const std::string & name);
00050 
00052     virtual ~TCosmicFitter();
00053 
00054   public:// Selectors
00056     void dump(const std::string & message = std::string(""),
00057               const std::string & prefix = std::string("")) const;
00058 
00059   public:// Modifiers
00060     int fit(TTrackBase &) const;
00061     int fit(TTrackBase &, float t0Offset) const;
00062 
00063     int fitWithCathode(TTrackBase &, float t0Offset = 0.,
00064                         float windowSize= 0.6, int SysCorr = 0 ) ; // added by matsu ( 1999/07/05 )
00065 
00066   private:
00068     int dxda(const TMLink & link,
00069              const Helix & helix,
00070              double dPhi,
00071              HepVector & dxda,
00072              HepVector & dyda,
00073              HepVector & dzda,
00074              int doSagCorrection) const;
00075 
00076   private:
00077     IMagneticFieldSvc* m_pmgnIMF;
00078 
00079 };
00080 
00081 //-----------------------------------------------------------------------------
00082 
00083 #ifdef TRKRECO_NO_INLINE
00084 #define inline
00085 #else
00086 #undef inline
00087 #define TCOSMICFITTER_INLINE_DEFINE_HERE
00088 #endif
00089 
00090 #ifdef TCOSMICFITTER_INLINE_DEFINE_HERE
00091 
00092 #endif
00093 
00094 #undef inline
00095 
00096 #endif /* TCOSMICFITTER_FLAG_ */

Generated on Tue Nov 29 23:14:17 2016 for BOSS_7.0.2 by  doxygen 1.4.7