00001 //-------------------------------------------------------------------------- 00002 // File and Version Information: 00003 // $Id: TrkFit.h,v 1.1.1.1 2005/04/21 06:01:42 zhangy Exp $ 00004 // 00005 // Description: 00006 // Implements a few basic TrkAbsFit functions (most are left for TrkRep and 00007 // subclasses). 00008 // 00009 // Environment: 00010 // Software developed for the BaBar Detector at the SLAC B-Factory. 00011 // 00012 // Author(s): Steve Schaffner 00013 // modified by Justin Albert 00014 //------------------------------------------------------------------------ 00015 00016 #ifndef TRKFIT_HH 00017 #define TRKFIT_HH 00018 00019 #include "TrkBase/TrkAbsFit.h" 00020 class ChisqConsistency; 00021 00022 // Class interface // 00023 class TrkFit : public TrkAbsFit { 00024 00025 public: 00026 virtual ChisqConsistency chisqConsistency() const = 0; 00027 virtual bool validFlightLength(double fltL,double tolerance=0.0) const; 00028 void printType(std::ostream& ostr) const; 00029 00030 virtual int nActive() const = 0; 00031 virtual int nSvt() const = 0; 00032 virtual int nMdc() const = 0; 00033 virtual PdtPid::PidType particleType() const = 0; 00034 virtual TrkExchangePar helix(double fltL) const = 0; 00035 virtual double arrivalTime(double fltL) const = 0; 00036 virtual double startFoundRange() const = 0; 00037 virtual double endFoundRange() const = 0; 00038 00039 protected: 00040 TrkFit(); 00041 virtual ~TrkFit(); 00042 private: 00043 // Preempt 00044 TrkFit& operator= (const TrkFit&); 00045 TrkFit(const TrkFit &); 00046 }; 00047 #endif