EICd
EIC data model
CovDiag3f.h
Go to the documentation of this file.
1// AUTOMATICALLY GENERATED FILE - DO NOT EDIT
2
3#ifndef EICD_CovDiag3f_H
4#define EICD_CovDiag3f_H
5
6#include <ostream>
7
8#ifdef PODIO_JSON_OUTPUT
9#include "nlohmann/json.hpp"
10#endif
11
12namespace eicd {
13
14
15class CovDiag3f {
16public:
17 float xx{};
18 float yy{};
19 float zz{};
20
21 CovDiag3f() : xx{0}, yy{0}, zz{0} {}
22 CovDiag3f(double x, double y, double z)
23 : xx{static_cast<float>(x)}, yy{static_cast<float>(y)}, zz{static_cast<float>(z)} {}
24 float operator()(unsigned i, unsigned j) const {return (i == j) ? *(&xx + i) : 0.;}
25
26
27};
28
29inline std::ostream& operator<<(std::ostream& o, const eicd::CovDiag3f& value) {
30 o << value.xx << " ";
31 o << value.yy << " ";
32 o << value.zz << " ";
33
34 return o;
35}
36
37#ifdef PODIO_JSON_OUTPUT
38inline void to_json(nlohmann::json& j, const CovDiag3f& value) {
39 j = nlohmann::json{
40 {"xx", value.xx}
41 ,{"yy", value.yy}
42 ,{"zz", value.zz}
43 };
44}
45#endif
46
47} // namespace eicd
48
49
50#endif
Definition: CovDiag3f.h:15
float zz
Definition: CovDiag3f.h:19
float yy
Definition: CovDiag3f.h:18
float xx
Definition: CovDiag3f.h:17
CovDiag3f()
Definition: CovDiag3f.h:21
float operator()(unsigned i, unsigned j) const
Definition: CovDiag3f.h:24
CovDiag3f(double x, double y, double z)
Definition: CovDiag3f.h:22
Definition: CalorimeterHit.cc:13
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition: CalorimeterHit.cc:93