CGEM BOSS 6.6.5.h
BESIII Offline Software System
Loading...
Searching...
No Matches
TRobustLineFitter.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// $Id: TRobustLineFitter.h,v 1.4 2010/03/31 09:58:59 liucy Exp $
3//-----------------------------------------------------------------------------
4// Filename : TRobustLineFitter.h
5// Section : Tracking
6// Owner : Yoshi Iwasaki
7// Email : [email protected]
8//-----------------------------------------------------------------------------
9// Description : A class to fit a TTrackBase object to a line.
10// See http://bsunsrv1.kek.jp/~yiwasaki/tracking/
11//-----------------------------------------------------------------------------
12
13#ifndef TROBUSTLINEFITTER_FLAG_
14#define TROBUSTLINEFITTER_FLAG_
15
16#ifdef TRKRECO_DEBUG_DETAIL
17#ifndef TRKRECO_DEBUG
18#define TRKRECO_DEBUG
19#endif
20#endif
21
22#include <string>
23
24#define HEP_SHORT_NAMES
25#include "TrkReco/TLineFitter.h"
26
27/// A class to fit a TTrackBase object to a line.
29
30 public:
31 /// Constructor.
32 TRobustLineFitter(const std::string & name);
33
34 /// Destructor
35 virtual ~TRobustLineFitter();
36
37 public:// Selectors
38 /// dumps debug information.
39 void dump(const std::string & message = std::string(""),
40 const std::string & prefix = std::string("")) const;
41 double a(void) const;
42 double b(void) const;
43 double det(void) const;
44
45 public:// Modifiers
46 virtual int fit(TTrackBase &) const;
47
48 private:
49 double rofunc(const TTrackBase &, double) const;
50 double select(unsigned k, unsigned n, double *) const;
51
52 private:
53 mutable double _a;
54 mutable double _b;
55 mutable double _det;
56 mutable unsigned _n;
57};
58
59//-----------------------------------------------------------------------------
60
61#ifdef TRKRECO_NO_INLINE
62#define inline
63#else
64#undef inline
65#define TROBUSTLINEFITTER_INLINE_DEFINE_HERE
66#endif
67
68#ifdef TROBUSTLINEFITTER_INLINE_DEFINE_HERE
69
70inline
71double
73 return _a;
74}
75
76inline
77double
79 return _b;
80}
81
82inline
83double
85 return _det;
86}
87
88#endif
89
90#undef inline
91
92#endif /* TROBUSTLINEFITTER_FLAG_ */
const Int_t n
A class to fit a TTrackBase object to a line.
Definition TLineFitter.h:28
const std::string & name(void) const
returns name.
Definition TMFitter.h:73
A class to fit a TTrackBase object to a line.
double a(void) const
double b(void) const
TRobustLineFitter(const std::string &name)
Constructor.
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
virtual int fit(TTrackBase &) const
virtual ~TRobustLineFitter()
Destructor.
double det(void) const
A virtual class for a track class in tracking.
Definition TTrackBase.h:46