Belle II Software  release-05-02-19
PerfectFinder.h
1 //-----------------------------------------------------------------------------
2 // $Id$
3 //-----------------------------------------------------------------------------
4 // Filename : PerfectFinder.h
5 // Section : TRG CDC
6 // Owner : Yoshihito Iwasaki
7 // Email : yoshihito.iwasaki@kek.jp
8 //-----------------------------------------------------------------------------
9 // Description : A class to find tracks usning Hough algorithm
10 //-----------------------------------------------------------------------------
11 // $Log$
12 //-----------------------------------------------------------------------------
13 
14 #ifndef TRGCDCPerfectFinder_FLAG_
15 #define TRGCDCPerfectFinder_FLAG_
16 
17 #include <string>
18 
19 #ifdef TRGCDC_SHORT_NAMES
20 #define TCPFinder TRGCDCPerfectFinder
21 #endif
22 
23 namespace Belle2 {
29  class TRGCDC;
30  class TRGCDCTrack;
31  class TRGCDCLink;
32 
35 
36  public:
37 
39  TRGCDCPerfectFinder(const std::string& name,
40  const TRGCDC&);
41 
43  virtual ~TRGCDCPerfectFinder();
44 
45  public:
46 
48  std::string name(void) const;
49 
51  std::string version(void) const;
52 
54  int doit(std::vector<TRGCDCTrack*>& trackListClone, std::vector<TRGCDCTrack*>& trackList);
55 
57  const std::vector<int>& trackListMC(void) const;
58 
59  private:
60 
62  int doitPerfectly(std::vector<TRGCDCTrack*>& trackList);
63 
64  private:
65 
67  const std::string _name;
68 
70  const TRGCDC& _cdc;
71 
73  std::vector<int> _mcList;
74  };
75 
76 //-----------------------------------------------------------------------------
77 
78  inline
79  std::string
81  {
82  return _name;
83  }
84 
85  inline
86  const std::vector<int>&
88  {
89  return _mcList;
90  }
91 
93 } // namespace Belle2
94 
95 #endif
Belle2::TRGCDCPerfectFinder
A class to find 2D tracks using MC information.
Definition: PerfectFinder.h:34
Belle2::TRGCDCPerfectFinder::_cdc
const TRGCDC & _cdc
CDCTRG.
Definition: PerfectFinder.h:70
Belle2::TRGCDCPerfectFinder::_mcList
std::vector< int > _mcList
MC track ID list.
Definition: PerfectFinder.h:73
Belle2::TRGCDCPerfectFinder::name
std::string name(void) const
returns name.
Definition: PerfectFinder.h:80
Belle2::TRGCDCPerfectFinder::_name
const std::string _name
Name.
Definition: PerfectFinder.h:67
Belle2::TRGCDCPerfectFinder::doit
int doit(std::vector< TRGCDCTrack * > &trackListClone, std::vector< TRGCDCTrack * > &trackList)
do track finding.
Definition: PerfectFinder.cc:66
Belle2::TRGCDCPerfectFinder::trackListMC
const std::vector< int > & trackListMC(void) const
returns MC track list which contributes to CDC hits.
Definition: PerfectFinder.h:87
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TRGCDCPerfectFinder::version
std::string version(void) const
returns version.
Definition: PerfectFinder.cc:50
Belle2::TRGCDC
The instance of TRGCDC is a singleton.
Definition: TRGCDC.h:70
Belle2::TRGCDCPerfectFinder::doitPerfectly
int doitPerfectly(std::vector< TRGCDCTrack * > &trackList)
do perfect finding.
Definition: PerfectFinder.cc:74
Belle2::TRGCDCPerfectFinder::~TRGCDCPerfectFinder
virtual ~TRGCDCPerfectFinder()
Destructor.
Definition: PerfectFinder.cc:61
Belle2::TRGCDCPerfectFinder::TRGCDCPerfectFinder
TRGCDCPerfectFinder(const std::string &name, const TRGCDC &)
Contructor.
Definition: PerfectFinder.cc:55