CbmRoot
LitTrackParam.h
Go to the documentation of this file.
1 
7 #ifndef LITTRACKPARAM_H_
8 #define LITTRACKPARAM_H_ 1
9 
10 #include "LitTypes.h"
11 #include "LitUtils.h"
12 
13 #include <sstream>
14 #include <string>
15 using std::ostream;
16 using std::string;
17 using std::stringstream;
18 
19 namespace lit {
20  namespace parallel {
21 
33  template<class T>
34  class LitTrackParam {
35  public:
40  : X(0.)
41  , Y(0.)
42  , Z(0.)
43  , Tx(0.)
44  , Ty(0.)
45  , Qp(0.)
46  , C0(0.)
47  , C1(0.)
48  , C2(0.)
49  , C3(0.)
50  , C4(0.)
51  , C5(0.)
52  , C6(0.)
53  , C7(0.)
54  , C8(0.)
55  , C9(0.)
56  , C10(0.)
57  , C11(0.)
58  , C12(0.)
59  , C13(0.)
60  , C14(0.) {}
61 
65  virtual ~LitTrackParam() {}
66 
71  string ToString() const {
72  stringstream ss;
73  ss << "LitTrackParam: X=" << X << " Y=" << Y << " Z=" << Z
74  << " Tx=" << Tx << " Ty=" << Ty << " Qp=" << Qp << "\n"
75  << " cov matrix[0-14]: " << C0 << " " << C1 << " " << C2 << " " << C3
76  << " " << C4 << " " << C5 << " " << C6 << " " << C7 << " " << C8
77  << " " << C9 << " " << C10 << " " << C11 << " " << C12 << " " << C13
78  << " " << C14 << "\n";
79  return ss.str();
80  }
81 
86  friend ostream& operator<<(ostream& strm, const LitTrackParam& par) {
87  strm << par.ToString();
88  return strm;
89  }
90 
91  public:
92  T X; // X position of the track
93  T Y; // Y position of the track
94  T Z; // Z position of the track
95  T Tx; // Slope which equals to dx/dz
96  T Ty; // Slope which equals to dy/dz
97  T Qp; // Charge (+1 or -1) over momentum
98 
99  // Symetric covariance matrix
100  T C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14;
101  } _fvecalignment;
102 
108 
114 
115  } // namespace parallel
116 } // namespace lit
117 #endif /* LITTRACKPARAM_H_ */
lit::parallel::LitTrackParam::C2
T C2
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParamScal
LitTrackParam< fscal > LitTrackParamScal
Scalar version of LitTrackParam.
Definition: LitTrackParam.h:113
lit::parallel::LitTrackParam::Z
T Z
Definition: LitTrackParam.h:94
lit::parallel::LitTrackParam::C10
T C10
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParam::ToString
string ToString() const
Returns string representation of the class.
Definition: LitTrackParam.h:71
lit::parallel::LitTrackParam::C13
T C13
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParam::X
T X
Definition: LitTrackParam.h:92
lit::parallel::LitTrackParam::C8
T C8
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParam::Y
T Y
Definition: LitTrackParam.h:93
LitUtils.h
Useful classes and functions.
lit::parallel::LitTrackParam::operator<<
friend ostream & operator<<(ostream &strm, const LitTrackParam &par)
Operator << for convenient output to ostream.
Definition: LitTrackParam.h:86
lit::parallel::_fvecalignment
class lit::parallel::LitDetectorLayout _fvecalignment
lit::parallel::LitTrackParam::C0
T C0
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParam::LitTrackParam
LitTrackParam()
Constructor.
Definition: LitTrackParam.h:39
lit::parallel::LitTrackParam::C9
T C9
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParam::C3
T C3
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParam::C14
T C14
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParam::C4
T C4
Definition: LitTrackParam.h:100
LitTypes.h
Header files for SSE operations.
lit::parallel::LitTrackParam
Track parameters data class.
Definition: LitTrackParam.h:34
lit::parallel::LitTrackParam::C12
T C12
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParam::Ty
T Ty
Definition: LitTrackParam.h:96
lit::parallel::LitTrackParam::Tx
T Tx
Definition: LitTrackParam.h:95
lit::parallel::LitTrackParam::C5
T C5
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParam::C1
T C1
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParam::C11
T C11
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParam::C7
T C7
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParamVec
LitTrackParam< fvec > LitTrackParamVec
Vector version of LitTrackParam.
Definition: LitTrackParam.h:107
lit::parallel::LitTrackParam::C6
T C6
Definition: LitTrackParam.h:100
lit::parallel::LitTrackParam::Qp
T Qp
Definition: LitTrackParam.h:97
lit::parallel::LitTrackParam::~LitTrackParam
virtual ~LitTrackParam()
Destructor.
Definition: LitTrackParam.h:65
lit
Definition: LitTrackFinderNNVecElectron.h:19