/
CbmRichRingTrackAssignBase.h
75 lines (61 loc) · 1.54 KB
/
CbmRichRingTrackAssignBase.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/**
* \file CbmRichRingTrackAssignBase.h
*
* \brief Base class for RICH rings - STS tracks matching algorithms.
*
* \author Semen Lebedev
* \date 2012
**/
#ifndef CBM_RICH_RING_TRACK_ASSIGN_BASE
#define CBM_RICH_RING_TRACK_ASSIGN_BASE
class TClonesArray;
/**
* \class CbmRichRingTrackAssignBase
*
* \brief Base class for RICH rings - STS tracks matching algorithms.
*
* \author Semen Lebedev
* \date 2012
**/
class CbmRichRingTrackAssignBase
{
public:
/**
* brief Standard constructor.
*/
CbmRichRingTrackAssignBase():
fMaxDistance(100.),
fMinNofHitsInRing(5)
{
}
/**
* \brief Destructor.
*/
virtual ~CbmRichRingTrackAssignBase() { }
/**
* \brief Initialization in case one needs to initialize some TCloneArrays.
*/
virtual void Init() { }
/**
* Perform RICH rings STS tracks matching procedure.
* It updates index of the RICH ring in Global tracks.
* \param[in] rings Array of RICH rings.
* \param[in] richProj Array of track projections onto the photodetector plane.
**/
virtual void DoAssign(
TClonesArray* rings,
TClonesArray* richProj) = 0;
protected:
double fMaxDistance; // max. distance between ring center and track extrapolation
int fMinNofHitsInRing; // min number of hits per ring
private:
/**
* \brief Copy constructor.
*/
CbmRichRingTrackAssignBase(const CbmRichRingTrackAssignBase&);
/**
* \brief Assignment operator.
*/
CbmRichRingTrackAssignBase& operator=(const CbmRichRingTrackAssignBase&);
};
#endif