00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef TCIRCLEFITTER_FLAG_
00014 #define TCIRCLEFITTER_FLAG_
00015
00016 #ifdef TRKRECO_DEBUG_DETAIL
00017 #ifndef TRKRECO_DEBUG
00018 #define TRKRECO_DEBUG
00019 #endif
00020 #endif
00021 #define HEP_SHORT_NAMES
00022
00023 #include "TrkReco/TMFitter.h"
00024
00025
00026 #include "TrackUtil/Helix.h"
00027
00028 class TMLink;
00029 class TCircle;
00030
00032 class TCircleFitter : public TMFitter {
00033
00034 public:
00036 TCircleFitter(const std::string & name);
00037
00039 virtual ~TCircleFitter();
00040
00041 public:
00043 void dump(const std::string & message = std::string(""),
00044 const std::string & prefix = std::string("")) const;
00045
00046 public:
00047 virtual int fit(TTrackBase &) const;
00048
00049 private:
00050 mutable double _charge;
00051 mutable double _radius;
00052 mutable HepPoint3D _center;
00053 };
00054
00055
00056
00057 #ifdef TRKRECO_NO_INLINE
00058 #define inline
00059 #else
00060 #undef inline
00061 #define TCIRCLEFITTER_INLINE_DEFINE_HERE
00062 #endif
00063
00064 #ifdef TCIRCLEFITTER_INLINE_DEFINE_HERE
00065
00066 #endif
00067
00068 #undef inline
00069
00070 #endif