Belle II Software development
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
22namespace 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.
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.