StRoot
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
RTS
EventTracker
FtfTrack.h
1
//:>----------------------------------------------------------------------
2
//: FILE: FtfTrack.h
3
//: HISTORY:
4
//: 27jan2000 start writting changes
5
//: refHit replaced by xRefHit and yRefHit
6
//: 27jan2000 VOLUME, ROW and AREA classes replaced by FtfContainer
7
//: 9mar2000 trackLength moved to FtfBaseTrack
8
//: 9mar2000 use void pointers
9
//: 4sep2001 add way to followHitSelection to correct bug in
10
//: outward extrapolation
11
//:>----------------------------------------------------------------------
12
#ifndef FTFTRACK
13
#define FTFTRACK
14
#include "FtfGeneral.h"
15
16
#include "rtsLog.h"
17
18
#include "FtfBaseTrack.h"
19
#include "FtfHit.h"
20
#include "FtfPara.h"
21
22
int
const
USE_SEGMENT= 1 ;
23
int
const
USE_FOLLOW = 2 ;
24
int
const
GO_DOWN =-1 ;
25
int
const
GO_UP = 1 ;
26
27
class
FtfTrack
:
public
FtfBaseTrack
{
28
29
public
:
30
friend
class
FtfFinder
;
31
32
void
add (
FtfHit
*thisHit,
int
way ) ;
33
void
add (
FtfTrack
*thisTrack ) ;
34
int
buildTrack (
FtfHit
*firstHit,
FtfContainer
*volume ) ;
35
void
dEdx ( ) ;
36
void
deleteCandidate ( ) ;
37
void
fill ( ) ;
38
void
fillPrimary (
double
&xc,
double
&yc,
double
&rc,
39
double
xPar,
double
yPar ) ;
40
void
fillSecondary (
double
&xc,
double
&yc,
double
xPar,
double
yPar ) ;
41
int
follow (
FtfContainer
*volume,
int
way,
int
rowToStop ) ;
42
int
followHitSelection (
FtfHit
*baseHit,
FtfHit
*candidateHit,
int
way ) ;
43
FtfTrack
* getNextTrack ( ) {
return
(
FtfTrack
*)nxatrk ; } ;
44
int
mergePrimary (
FtfContainer
*trackArea ) ;
45
void
reset ( ) ;
46
FtfHit
*seekNextHit (
FtfContainer
*volume,
FtfHit
*baseHit,
47
int
nradiusSteps,
int
whichFunction ) ;
48
int
segment (
FtfContainer
*volume,
int
way ) ;
49
int
segmentHitSelection (
FtfHit
*baseHit,
FtfHit
*candidateHit ) ;
50
void
*nxatrk ;
51
52
#ifdef DEBUG
53
void
debugAsk ( ) ;
54
void
debugDeleteCandidate ( ) ;
55
void
debugFill ( ) ;
56
void
debugFollowCandidate (
FtfHit
*candidate_hit ) ;
57
void
debugFollowSuccess (
double
dxy,
double
dsz,
double
lchi2_xy,
58
double
lchi2_sz,
double
chi2_min,
59
FtfHit
*candidate_hit ) ;
60
void
debugInVolume (
FtfHit
*base_hit,
FtfHit
*current_hit ) ;
61
void
debugNew ( ) ;
62
#endif
63
64
float
lastXyAngle ;
// Angle in the xy plane of line connecting to last hits
65
typedef
double
vfit ;
66
67
vfit xRefHit ;
68
vfit yRefHit ;
69
vfit xLastHit ;
70
vfit yLastHit ;
71
72
vfit s11Xy ;
// Fit Parameters
73
vfit s12Xy ;
74
vfit s22Xy ;
75
vfit g1Xy ;
76
vfit g2Xy ;
77
vfit s11Sz ;
78
vfit s12Sz ;
79
vfit s22Sz ;
80
vfit g1Sz ;
81
vfit g2Sz ;
82
83
vfit ddXy, a1Xy, a2Xy ;
/*fit par in xy */
84
vfit ddSz, a1Sz, a2Sz ;
/*fit par in sz */
85
86
//private:
87
inline
virtual
void
nextHit (){ currentHit = ((
FtfBaseHit
*)currentHit)->nextTrackHit ; } ;
88
89
} ;
90
#endif
91
FtfHit
Definition:
FtfHit.h:16
FtfTrack
Definition:
FtfTrack.h:27
FtfBaseTrack
Definition:
FtfBaseTrack.h:18
FtfFinder
Definition:
FtfFinder.h:23
FtfBaseHit
Definition:
FtfBaseHit.h:30
FtfContainer
Definition:
FtfGeneral.h:32
Generated by
1.8.5