MarlinTrkProcessors  2.4.1
TrackUtil.h
1 #ifndef TRACKUTIL_H
2 #define TRACKUTIL_H
3 //
4 // Based on the FTF code written by Pablo Yepes.
5 //
6 // P. Yepes, “A fast track pattern recognition,”
7 // Nuclear Instruments & Methods in Physics Research A
8 // 380(1996) pp. 582-585.
9 //
10 
11 #include <cmath>
12 #include <stdio.h>
13 #include <stdlib.h>
14 #include <algorithm>
15 
16 namespace ftf
17 {
18  class Hit;
19  class Track;
20 }
21 //
22 // Some constants
23 //
24 const double pi = acos(-1.);
25 const double twoPi = 2. * pi ;
26 const double piHalf = 0.5 * pi ;
27 const double toDeg = 360./twoPi ;
28 const double bFactor = 0.00299792458 ;
29 //
30 //--> Functions
31 //
32 //#ifndef min
33 //#define min(a,b) ( ( (a) < (b) ) ? (a) : (b) )
34 //#endif
35 //#ifndef max
36 //#define max(a,b) ( ( (a) > (b) ) ? (a) : (b) )
37 //#endif
38 #define seta(r,z) (3.0F * (z) / (fabs(z)+2.0F*(r)))
39 //#define reta(eta,r) ((2.F*(r)*eta / ( 3 - fabs(eta)) ))
40 //#define sgn(a) ( ( (a) > 0 ) ? (1) :(-1) )
41 #define square(a) ( (a) * (a) )
42 
43 
44 // extern double fmod(double,double);
45 // extern double sqrt(double);
46 // extern double fabs(double);
47 // extern double atan2(double,double);
48 
49 namespace ftf
50 {
51  class Container
52  {
53  public:
54  Hit* first;
55  Hit* last;
56  };
57 
59  {
60  public:
61  Track* first;
62  Track* last;
63  } ;
64 
65 } // end namespace ftf
66 #endif
Definition: TrackUtil.h:51
Definition: Track.h:23
Definition: TrackUtil.h:58
Definition: Hit.h:17