BOSS 6.6.4.p03
BESIII Offline Software System
Loading...
Searching...
No Matches
TPerfectFinder.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// $Id: TPerfectFinder.h,v 1.5 2010/03/31 09:58:59 liucy Exp $
3//-----------------------------------------------------------------------------
4// Filename : TPerfectFinder.h
5// Section : Tracking
6// Owner : Yoshi Iwasaki
7// Email : [email protected]
8//-----------------------------------------------------------------------------
9// Description : A class to find tracks using MC info.
10// See http://bsunsrv1.kek.jp/~yiwasaki/tracking/
11//-----------------------------------------------------------------------------
12
13#ifndef TPERFECTFINDER_FLAG_
14#define TPERFECTFINDER_FLAG_
15#ifdef TRKRECO_DEBUG_DETAIL
16#ifndef TRKRECO_DEBUG
17#define TRKRECO_DEBUG
18#endif
19#endif
20#define HEP_SHORT_NAMES
21#include "TrkReco/TFinderBase.h"
22#include "TrkReco/TMLink.h"
23#include "TrkReco/TBuilder.h"
25template <class T> class AList;
26
27/// A class to find tracks using MC info.
29
30 public:
31 /// Constructor.
33 float maxSigma,
34 float maxSigmaStereo,
35 unsigned fittingFlag);
36
37 /// Destructor
38 virtual ~TPerfectFinder();
39
40 public:// Selectors
41 /// returns name.
42 std::string name(void) const;
43
44 /// returns version.
45 std::string version(void) const;
46
47 /// dumps debug information.
48 void dump(const std::string & message = std::string(""),
49 const std::string & prefix = std::string("")) const;
50
51 /// clear internal information.
52 void clear(void);
53
54 /// gets perfect momentum from MC info.
55 bool perfectFitting(bool);
56
57 public:// Modifiers
58 /// finds tracks.
59 int doit(const AList<TMDCWireHit> & axialHits,
60 const AList<TMDCWireHit> & stereoHits,
61 AList<TTrack> & tracks,
62 AList<TTrack> & tracks2D);
63
64 private:
65 float charge(int pType) const;
66
67 private:
68 bool _perfectFitting;
69 AList<TMLink> _links;
70 float _maxSigma;
71 float _maxSigmaStereo;
72 unsigned _fittingFlag;
73 TBuilder _builder;
74 THelixFitter _fitter;
75};
76
77//-----------------------------------------------------------------------------
78
79#ifdef TPERFECTFINDER_NO_INLINE
80#define inline
81#else
82#undef inline
83#define TPERFECTFINDER_INLINE_DEFINE_HERE
84#endif
85
86#ifdef TPERFECTFINDER_INLINE_DEFINE_HERE
87
88inline
89std::string
91 return "Perfect Finder";
92}
93
94inline
95bool
97 return _perfectFitting = a;
98}
99
100#endif
101
102#undef inline
103
104#endif /* TPERFECTFINDER_FLAG_ */
A class to build a track.
Definition: TBuilder.h:34
A virtual class for a track finder in tracking.
Definition: TFinderBase.h:31
A class to fit a TTrackBase object to a helix.
Definition: THelixFitter.h:48
A class to find tracks using MC info.
std::string version(void) const
returns version.
virtual ~TPerfectFinder()
Destructor.
void clear(void)
clear internal information.
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
int doit(const AList< TMDCWireHit > &axialHits, const AList< TMDCWireHit > &stereoHits, AList< TTrack > &tracks, AList< TTrack > &tracks2D)
finds tracks.
std::string name(void) const
returns name.
bool perfectFitting(bool)
gets perfect momentum from MC info.