24 #ifndef _ST_FGT_LHH_TRACKING_
25 #define _ST_FGT_LHH_TRACKING_
27 #include "StFgtTracking.h"
30 #include "StRoot/StFgtUtil/StFgtConsts.h"
33 Int_t pointIdx1, pointIdx2;
34 Int_t discIdx1, discIdx2;
35 Float_t mx, my, bx, by;
38 StFgtLHHLine() : pointIdx1(0), pointIdx2(0), discIdx1(0), discIdx2(0),
39 mx(0), my(0), bx(0), by(0), vertZ(-1e11) { };
42 StFgtLHHLine( Int_t pointIdx1_, Int_t pointIdx2_, Int_t discIdx1_, Int_t discIdx2_,
43 Float_t mx_, Float_t my_, Float_t bx_, Float_t by_ ) :
44 pointIdx1(pointIdx1_), pointIdx2(pointIdx2_), discIdx1(discIdx1_), discIdx2(discIdx2_),
45 mx(mx_), my(my_), bx(bx_), by(by_) {
46 vertZ = ( mx || my ? -( mx*bx + my*by )/(mx*mx+my*my) : -1e11 );
50 typedef std::vector< StFgtLHHLine > StFgtLHHLineVec;
63 virtual void Clear(
const Option_t *opt =
"" );
67 enum { kFgtNumDiscPairs = kFgtNumDiscs*(kFgtNumDiscs-1)/2 };
68 StFgtLHHLineVec mLineVec[ kFgtNumDiscPairs ];
71 virtual Int_t findTracks();
73 Float_t distanceSqLineToPoint(
const StFgtLHHLine& line,
const TVector3& pointPos )
const;