EICd
EIC data model
CovXYZ.h
Go to the documentation of this file.
1 // AUTOMATICALLY GENERATED FILE - DO NOT EDIT
2 
3 #ifndef EICD_CovXYZ_H
4 #define EICD_CovXYZ_H
5 
6 #include <ostream>
7 
8 namespace eic {
9 
10 
11 class CovXYZ {
12 public:
13  float xx{};
14  float yy{};
15  float zz{};
16  float xy{};
17  float xz{};
18  float yz{};
19 
20  CovXYZ() : xx{0}, yy{0}, zz{0}, xy{0}, xz{0}, yz{0} {}
21  CovXYZ(double vx, double vy, double vz, double vxy, double vxz, double vyz)
22  : xx{static_cast<float>(vx)}, yy{static_cast<float>(vy)}, zz{static_cast<float>(vz)},
23  xy{static_cast<float>(vxy)}, xz{static_cast<float>(vxz)}, yz{static_cast<float>(vyz)} {}
24  float operator()(unsigned i, unsigned j) const {
25  // diagonal
26  if (i == j) {
27  return *(&xx + i);
28  }
29  // off-diagonal
30  // we have as options (0, 1), (0, 2) and (1, 2) (and mirrored)
31  // note that, starting from xy, we find the correct element at (i+j-1)
32  return *(&xy + i + j - 1);
33  }
34 
35 
36 };
37 
38 inline std::ostream& operator<<(std::ostream& o, const eic::CovXYZ& value) {
39  o << value.xx << " ";
40  o << value.yy << " ";
41  o << value.zz << " ";
42  o << value.xy << " ";
43  o << value.xz << " ";
44  o << value.yz << " ";
45 
46  return o;
47 }
48 
49 } // namespace eic
50 
51 
52 
53 #endif
eic::operator<<
std::ostream & operator<<(std::ostream &o, const ConstBasicParticle &value)
Definition: BasicParticle.cc:102
eic::CovXYZ::CovXYZ
CovXYZ(double vx, double vy, double vz, double vxy, double vxz, double vyz)
Definition: CovXYZ.h:21
eic
Definition: BasicParticle.cc:13
eic::CovXYZ::xy
float xy
Definition: CovXYZ.h:16
eic::CovXYZ::operator()
float operator()(unsigned i, unsigned j) const
Definition: CovXYZ.h:24
eic::CovXYZ::xz
float xz
Definition: CovXYZ.h:17
eic::CovXYZ::CovXYZ
CovXYZ()
Definition: CovXYZ.h:20
eic::CovXYZ::xx
float xx
Definition: CovXYZ.h:13
eic::CovXYZ::zz
float zz
Definition: CovXYZ.h:15
eic::CovXYZ::yz
float yz
Definition: CovXYZ.h:18
eic::CovXYZ::yy
float yy
Definition: CovXYZ.h:14
eic::CovXYZ
Definition: CovXYZ.h:11