Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:15:10

0001 #ifndef __ATRACK_H__
0002 #define __ATRACK_H__
0003 
0004 //

0005 //  Hello ATrack Fans:

0006 //

0007 //  A Track is a decision on the solution to the pattern

0008 //  recognition process.  It consists of one Cluster from each

0009 //  tracking station.

0010 //

0011 //                                                NF

0012 //                                                09-18-2013

0013 //

0014 
0015 #include <vector>
0016 
0017 #include "ABlob.h"
0018 #include "TMath.h"
0019 
0020 class ATrack
0021 {
0022 public:
0023   ATrack();
0024   virtual ~ATrack() {}
0025 
0026   // gets...

0027   double X() {return GetXForZ(0); }
0028   double Y() {return GetYForZ(0); }
0029   double GetXForZ( double z ){ return (x0 + dxdz * ( z - z0 )); };
0030   double GetYForZ( double z ){ return (y0 + dydz * ( z - z0 )); };
0031   double Slope;
0032   double Offset;
0033   void SetBlobs( std::vector<ABlob*> );
0034   std::vector<ABlob*> GetBlobs(){ return blobs; };
0035   void SetSlope(double s) {Slope=s;}
0036   void SetOffset(double o) {Offset=o;}
0037   double check() {return 5;}
0038 
0039 
0040 protected:
0041   /* tracks are straight lines defined by these parameters: */
0042   double x0;
0043   double y0;
0044   double z0;
0045   double dxdz;
0046   double dydz;
0047 
0048   void DetermineParameters();
0049   
0050   /* vector of blobs associated with this track */
0051   std::vector<ABlob*> blobs;
0052   
0053 };
0054 
0055 #endif /* __ATRACK_H__ */