00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef TLINEFITTER_FLAG_
00014 #define TLINEFITTER_FLAG_
00015
00016 #ifdef TRKRECO_DEBUG_DETAIL
00017 #ifndef TRKRECO_DEBUG
00018 #define TRKRECO_DEBUG
00019 #endif
00020 #endif
00021
00022 #include <string>
00023
00024 #define HEP_SHORT_NAMES
00025 #include "TrkReco/TMFitter.h"
00026
00028 class TLineFitter : public TMFitter {
00029
00030 public:
00032 TLineFitter(const std::string & name);
00033
00035 virtual ~TLineFitter();
00036
00037 public:
00039 void dump(const std::string & message = std::string(""),
00040 const std::string & prefix = std::string("")) const;
00041 double a(void) const;
00042 double b(void) const;
00043 double det(void) const;
00044
00045 public:
00046 virtual int fit(TTrackBase &) const;
00047
00048 private:
00049 mutable double _a;
00050 mutable double _b;
00051 mutable double _det;
00052 };
00053
00054
00055
00056 #ifdef TRKRECO_NO_INLINE
00057 #define inline
00058 #else
00059 #undef inline
00060 #define TLINEFITTER_INLINE_DEFINE_HERE
00061 #endif
00062
00063 #ifdef TLINEFITTER_INLINE_DEFINE_HERE
00064
00065 inline
00066 double
00067 TLineFitter::a(void) const {
00068 return _a;
00069 }
00070
00071 inline
00072 double
00073 TLineFitter::b(void) const {
00074 return _b;
00075 }
00076
00077 inline
00078 double
00079 TLineFitter::det(void) const {
00080 return _det;
00081 }
00082
00083 #endif
00084
00085 #undef inline
00086
00087 #endif