Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ATrack.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ATrack.h
1 #ifndef __ATRACK_H__
2 #define __ATRACK_H__
3 
4 //
5 // Hello ATrack Fans:
6 //
7 // A Track is a decision on the solution to the pattern
8 // recognition process. It consists of one Cluster from each
9 // tracking station.
10 //
11 // NF
12 // 09-18-2013
13 //
14 
15 #include <vector>
16 
17 #include "ABlob.h"
18 #include "TMath.h"
19 
20 class ATrack
21 {
22 public:
23  ATrack();
24  virtual ~ATrack() {}
25 
26  // gets...
27  double X() {return GetXForZ(0); }
28  double Y() {return GetYForZ(0); }
29  double GetXForZ( double z ){ return (x0 + dxdz * ( z - z0 )); };
30  double GetYForZ( double z ){ return (y0 + dydz * ( z - z0 )); };
31  double Slope;
32  double Offset;
33  void SetBlobs( std::vector<ABlob*> );
34  std::vector<ABlob*> GetBlobs(){ return blobs; };
35  void SetSlope(double s) {Slope=s;}
36  void SetOffset(double o) {Offset=o;}
37  double check() {return 5;}
38 
39 
40 protected:
41  /* tracks are straight lines defined by these parameters: */
42  double x0;
43  double y0;
44  double z0;
45  double dxdz;
46  double dydz;
47 
48  void DetermineParameters();
49 
50  /* vector of blobs associated with this track */
51  std::vector<ABlob*> blobs;
52 
53 };
54 
55 #endif /* __ATRACK_H__ */