StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StFgtHHTracking.h
1 /***************************************************************************
2  *
3  * $Id: StFgtHHTracking.h,v 1.2 2012/03/14 22:22:40 sgliske Exp $
4  * Author: S. Gliske, March 2012
5  *
6  ***************************************************************************
7  *
8  * Description: FGT tracking algorithm using (H)elix tracks and
9  * (H)ough transformations.
10  *
11  ***************************************************************************
12  *
13  * $Log: StFgtHHTracking.h,v $
14  * Revision 1.2 2012/03/14 22:22:40 sgliske
15  * update
16  *
17  * Revision 1.1 2012/03/07 15:38:04 sgliske
18  * creation
19  *
20  *
21  **************************************************************************/
22 
23 #ifndef _ST_FGT_HH_TRACKING_
24 #define _ST_FGT_HH_TRACKING_
25 
26 #include "StFgtTracking.h"
27 #include <vector>
28 
29 #include "StRoot/StFgtUtil/StFgtConsts.h"
30 
31 struct StFgtHHelix {
32  Int_t idx1, idx2; // track indices of primary hits
33  Float_t x0, y0, r, slope, phi0; // parameters of the helix
34  Float_t vertZ; // derived quantity--z of the vertex
35 
36  StFgtHHelix( Int_t i1 = -1, Int_t i2 = -1, Float_t x = 0, Float_t y = 0, Float_t R = 0, Float_t m = 0, Float_t phi = 0, Float_t z = -10000 ) :
37  idx1(i1), idx2(i2), x0(x), y0(y), r(R), slope(m), phi0(phi), vertZ(z) { /* */ };
38 };
39 
40 typedef std::vector< StFgtHHelix > StFgtHHelixVec;
41 
43  public:
44  // constructors
45  StFgtHHTracking( const Char_t* name = "fgtTracking" );
46 
47  // deconstructor
48  virtual ~StFgtHHTracking();
49 
50  // default equals operator and copy constructor OK
51 
52  // uses parent's ::Make()
53  virtual void Clear( const Option_t *opt = "" );
54 
55  protected:
56  // array of helixes
57  StFgtHHelixVec mHelixVec;
58  Float_t mMinRad, mMaxRad;
59 
60  // X, Y position of the beam -- fixed
61  TVector2 mBeamPos;
62 
63  // find the tracks
64  virtual Int_t findTracks();
65 
66  private:
67  ClassDef(StFgtHHTracking,1);
68 
69 };
70 
71 #endif