Belle II Software  release-08-01-10
PerfectFinder.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 //-----------------------------------------------------------------------------
10 // Description : A class to find tracks usning Hough algorithm
11 //-----------------------------------------------------------------------------
12 
13 #ifndef TRGCDCPerfectFinder_FLAG_
14 #define TRGCDCPerfectFinder_FLAG_
15 
16 #include <string>
17 
18 #ifdef TRGCDC_SHORT_NAMES
19 #define TCPFinder TRGCDCPerfectFinder
20 #endif
21 
22 namespace Belle2 {
28  class TRGCDC;
29  class TRGCDCTrack;
30  class TRGCDCLink;
31 
34 
35  public:
36 
38  TRGCDCPerfectFinder(const std::string& name,
39  const TRGCDC&);
40 
42  virtual ~TRGCDCPerfectFinder();
43 
44  public:
45 
47  std::string name(void) const;
48 
50  std::string version(void) const;
51 
53  int doit(std::vector<TRGCDCTrack*>& trackListClone, std::vector<TRGCDCTrack*>& trackList);
54 
56  const std::vector<int>& trackListMC(void) const;
57 
58  private:
59 
61  int doitPerfectly(std::vector<TRGCDCTrack*>& trackList);
62 
63  private:
64 
66  const std::string _name;
67 
69  const TRGCDC& _cdc;
70 
72  std::vector<int> _mcList;
73  };
74 
75 //-----------------------------------------------------------------------------
76 
77  inline
78  std::string
80  {
81  return _name;
82  }
83 
84  inline
85  const std::vector<int>&
87  {
88  return _mcList;
89  }
90 
92 } // namespace Belle2
93 
94 #endif
A class to find 2D tracks using MC information.
Definition: PerfectFinder.h:33
const std::string _name
Name.
Definition: PerfectFinder.h:66
const TRGCDC & _cdc
CDCTRG.
Definition: PerfectFinder.h:69
std::vector< int > _mcList
MC track ID list.
Definition: PerfectFinder.h:72
The instance of TRGCDC is a singleton.
Definition: TRGCDC.h:69
const std::vector< int > & trackListMC(void) const
returns MC track list which contributes to CDC hits.
Definition: PerfectFinder.h:86
int doit(std::vector< TRGCDCTrack * > &trackListClone, std::vector< TRGCDCTrack * > &trackList)
do track finding.
virtual ~TRGCDCPerfectFinder()
Destructor.
TRGCDCPerfectFinder(const std::string &name, const TRGCDC &)
Contructor.
std::string name(void) const
returns name.
Definition: PerfectFinder.h:79
std::string version(void) const
returns version.
int doitPerfectly(std::vector< TRGCDCTrack * > &trackList)
do perfect finding.
Abstract base class for different kinds of events.