Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DTrackingData.h
Go to the documentation of this file.
1 #ifndef _DTrackingData_
2 #define _DTrackingData_
3 
4 #include <memory>
5 #include "TMatrixFSym.h"
6 
7 #include <PID/DKinematicData.h>
8 
9 using namespace std;
10 using namespace jana;
11 
13 {
14  public:
15 
16  void Reset(void);
17  void Release(void);
18 
19  //GETTERS
20  shared_ptr<const TMatrixFSym> TrackingErrorMatrix(void) const{return m_TrackingErrorMatrix;}
21  bool forwardParmFlag(void) const{return m_use_forward_parameters;}
22  void TrackingStateVector(double aVec[5]) const;
23  double t0(void) const{return dt0;}
24  double t0_err(void) const{return dt0_err;}
25  DetectorSystem_t t0_detector(void) const{return dt0_detector;}
26 
27  //SETTERS
28  void setForwardParmFlag(bool aFlag){m_use_forward_parameters = aFlag;}
29  void setTrackingErrorMatrix(const shared_ptr<const TMatrixFSym>& aMatrix){m_TrackingErrorMatrix = aMatrix;}
30  void setTrackingErrorMatrix(const shared_ptr<TMatrixFSym>& aMatrix){m_TrackingErrorMatrix = std::const_pointer_cast<const TMatrixFSym>(aMatrix);}
31  void setTrackingStateVector(double a1, double a2, double a3, double a4, double a5);
32  void setT0(double at0, double at0_err, DetectorSystem_t at0_detector);
33 
34  private:
35 
36  shared_ptr<const TMatrixFSym> m_TrackingErrorMatrix = nullptr; // order is q/pt,phi,tanl,D,z
37  bool m_use_forward_parameters = false; // Flag indicating the use of the forward parameterization (x,y,tx,ty,q/p)
38  double m_TrackingStateVector[5] = {0.0, 0.0, 0.0, 0.0, 0.0}; // order is q/pt,phi,tanl,D,z
39 
40  double dt0 = 0.0;
41  double dt0_err = 0.0;
42  DetectorSystem_t dt0_detector = SYS_NULL;
43 };
44 
45 /********************************************************************** GETTERS ************************************************************************/
46 
47 inline void DTrackingData::TrackingStateVector(double aVec[5]) const
48 {
49  for (unsigned int i = 0; i < 5; ++i)
50  aVec[i] = m_TrackingStateVector[i];
51 }
52 
53 /********************************************************************** SETTERS ************************************************************************/
54 
55 inline void DTrackingData::setTrackingStateVector(double a1, double a2, double a3, double a4, double a5)
56 {
57  m_TrackingStateVector[0]=a1;
58  m_TrackingStateVector[1]=a2;
59  m_TrackingStateVector[2]=a3;
60  m_TrackingStateVector[3]=a4;
61  m_TrackingStateVector[4]=a5;
62 }
63 
64 inline void DTrackingData::setT0(double at0, double at0_err, DetectorSystem_t at0_detector)
65 {
66  dt0 = at0;
67  dt0_err = at0_err;
68  dt0_detector = at0_detector;
69 }
70 
71 inline void DTrackingData::Reset(void)
72 {
73  m_TrackingErrorMatrix = nullptr;
74  m_use_forward_parameters = false;
75 
76  m_TrackingStateVector[0]=0.0;
77  m_TrackingStateVector[1]=0.0;
78  m_TrackingStateVector[2]=0.0;
79  m_TrackingStateVector[3]=0.0;
80  m_TrackingStateVector[4]=0.0;
81 
82  dt0 = 0.0;
83  dt0_err = 0.0;
84  dt0_detector = SYS_NULL;
85 
87 }
88 
89 inline void DTrackingData::Release(void)
90 {
91  Reset();
93 }
94 
95 #endif /* _DTrackingData_ */
virtual void Release(void)
double t0(void) const
Definition: DTrackingData.h:23
Definition: GlueX.h:16
double t0_err(void) const
Definition: DTrackingData.h:24
void setTrackingErrorMatrix(const shared_ptr< const TMatrixFSym > &aMatrix)
Definition: DTrackingData.h:29
void setT0(double at0, double at0_err, DetectorSystem_t at0_detector)
Definition: DTrackingData.h:64
void setForwardParmFlag(bool aFlag)
Definition: DTrackingData.h:28
DetectorSystem_t
Definition: GlueX.h:15
void Reset(void)
Definition: DTrackingData.h:71
void setTrackingStateVector(double a1, double a2, double a3, double a4, double a5)
Definition: DTrackingData.h:55
bool forwardParmFlag(void) const
Definition: DTrackingData.h:21
void TrackingStateVector(double aVec[5]) const
Definition: DTrackingData.h:47
virtual void Reset(void)
void Release(void)
Definition: DTrackingData.h:89
DetectorSystem_t t0_detector(void) const
Definition: DTrackingData.h:25
void setTrackingErrorMatrix(const shared_ptr< TMatrixFSym > &aMatrix)
Definition: DTrackingData.h:30
shared_ptr< const TMatrixFSym > TrackingErrorMatrix(void) const
Definition: DTrackingData.h:20