FEDRA emulsion software from the OPERA Collaboration
Track.h
Go to the documentation of this file.
1 #ifndef TRACK_H
2 #define TRACK_H
3 
4 #include <iostream>
5 #include <vector>
6 #include <cmath>
7 #include "Struct.h"
8 
9 class Track
10 {
11 private:
12  unsigned int _areaSum;
13  unsigned short _count;
14  double _x;
15  double _y;
16  double _z;
17  double _errx;
18  double _erry;
19  double _errz;
20  double _sx;
21  double _sy;
22  double _sz;
23  double _sigma;
24  double _topZ;
25  double _bottomZ;
26  std::vector<Grain> _grains;
27 
28  double pointTo3DlineDistance(double x0, double y0, double z0);
29 
30 
31 
32 public:
33  Track();
34  ~Track(){};
35 
36  // track estimators
44  double mx, mxSigma, qx, rx, xChi2;
45  double my, mySigma, qy, ry, yChi2;
46  double dz;
47 
48 
49  void setAreaSum(unsigned int areaSum) {_areaSum = areaSum;}
50  void setCount(unsigned short count) {_count = count;}
51  void setX(double x) {_x = x;}
52  void setY(double y) {_y = y;}
53  void setZ(double z) {_z = z;}
54 
55  void setErrX(double errx) {_errx = errx;}
56  void setErrY(double erry) {_erry = erry;}
57  void setErrZ(double errz) {_errz = errz;}
58 
59  void setSX(double sx) {_sx = sx;}
60  void setSY(double sy) {_sy = sy;}
61  void setSZ(double sz) {_sz = sz;}
62  void setSigma(double sigma) {_sigma = sigma;}
63  void setTopZ(double z) {_topZ = z;}
64  void setBottomZ(double z) {_bottomZ = z;}
65  void addGrain(Grain gr) {_grains.push_back(gr);}
66 
67  unsigned int getAreaSum() const {return _areaSum;}
68  unsigned short getCount() const {return _count;}
69  double getX() const {return _x;}
70  double getY() const {return _y;}
71  double getZ() const {return _z;}
72  double getErrX() const {return _errx;}
73  double getErrY() const {return _erry;}
74  double getErrZ() const {return _errz;}
75  double getSX() const {return _sx;}
76  double getSY() const {return _sy;}
77  double getSZ() const {return _sz;}
78  double getSigma() const {return _sigma;}
79  double getTopZ() const {return _topZ;}
80  double getBottomZ() const {return _bottomZ;}
81  std::vector<Grain> getGrains() const {return _grains;}
82 
83  bool evaluateEstimators();
84 
85 
86 
87 
88 };
89 
90 #endif
brick z0
Definition: RecDispMC.C:106
Definition: Track.h:10
double mxSigma
Definition: Track.h:44
double qy
Definition: Track.h:45
double getTopZ() const
Definition: Track.h:79
Track()
Definition: Track.cpp:5
double getErrZ() const
Definition: Track.h:74
void addGrain(Grain gr)
Definition: Track.h:65
double sigmaDeltaThetaYZ
Definition: Track.h:42
double getSX() const
Definition: Track.h:75
double meanDeltaThetaXZ
Definition: Track.h:39
double getBottomZ() const
Definition: Track.h:80
double _y
Definition: Track.h:15
~Track()
Definition: Track.h:34
double getSigma() const
Definition: Track.h:78
double getSZ() const
Definition: Track.h:77
double getX() const
Definition: Track.h:69
void setErrZ(double errz)
Definition: Track.h:57
double meanDeltaTheta3D
Definition: Track.h:34
void setErrY(double erry)
Definition: Track.h:56
double getZ() const
Definition: Track.h:71
void setSX(double sx)
Definition: Track.h:59
void setCount(unsigned short count)
Definition: Track.h:50
double meanGapClusterToCluster
Definition: Track.h:43
double getSY() const
Definition: Track.h:76
std::vector< Grain > _grains
Definition: Track.h:26
double _sx
Definition: Track.h:20
void setZ(double z)
Definition: Track.h:53
void setSZ(double sz)
Definition: Track.h:61
double pointTo3DlineDistance(double x0, double y0, double z0)
Definition: Track.cpp:17
double xChi2
Definition: Track.h:44
unsigned short getCount() const
Definition: Track.h:68
double getY() const
Definition: Track.h:70
double _errz
Definition: Track.h:19
double _sz
Definition: Track.h:22
double _erry
Definition: Track.h:18
double mySigma
Definition: Track.h:45
double getErrX() const
Definition: Track.h:72
void setErrX(double errx)
Definition: Track.h:55
double mx
Definition: Track.h:44
double sigmaDeltaThetaXZ
Definition: Track.h:40
std::vector< Grain > getGrains() const
Definition: Track.h:81
void setX(double x)
Definition: Track.h:51
double my
Definition: Track.h:45
void setY(double y)
Definition: Track.h:52
double _sigma
Definition: Track.h:23
void setSigma(double sigma)
Definition: Track.h:62
unsigned int getAreaSum() const
Definition: Track.h:67
double getErrY() const
Definition: Track.h:73
double _x
Definition: Track.h:14
void setBottomZ(double z)
Definition: Track.h:64
double _errx
Definition: Track.h:17
double sigmaDeltaTheta3D
Definition: Track.h:38
double _z
Definition: Track.h:16
void setSY(double sy)
Definition: Track.h:60
double _sy
Definition: Track.h:21
void setAreaSum(unsigned int areaSum)
Definition: Track.h:49
double yChi2
Definition: Track.h:45
double ry
Definition: Track.h:45
unsigned short _count
Definition: Track.h:13
double rx
Definition: Track.h:44
double _bottomZ
Definition: Track.h:25
double _topZ
Definition: Track.h:24
double meanDistanceClustersTo3DLine
Definition: Track.h:43
bool evaluateEstimators()
Definition: Track.cpp:33
double dz
Definition: Track.h:46
void setTopZ(double z)
Definition: Track.h:63
double qx
Definition: Track.h:44
double meanDeltaThetaYZ
Definition: Track.h:41
unsigned int _areaSum
Definition: Track.h:12
Definition: Struct.h:33