EDM4eic
EIC data model
Toggle main menu visibility
Loading...
Searching...
No Matches
Cov4f.h
Go to the documentation of this file.
1
// AUTOMATICALLY GENERATED FILE - DO NOT EDIT
2
3
#ifndef EDM4EIC_Cov4f_H
4
#define EDM4EIC_Cov4f_H
5
6
#include <ostream>
7
8
#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
9
#include "nlohmann/json_fwd.hpp"
10
#endif
11
12
namespace
edm4eic
{
13
14
15
/** @class Cov4f
16
*
17
* @author:
18
*/
19
class
Cov4f
{
20
public
:
21
float
xx
{};
22
float
yy
{};
23
float
zz
{};
24
float
tt
{};
25
float
xy
{};
26
float
xz
{};
27
float
xt
{};
28
float
yz
{};
29
float
yt
{};
30
float
zt
{};
31
32
Cov4f
() :
xx
{0},
yy
{0},
zz
{0},
tt
{0},
xy
{0},
xz
{0},
xt
{0},
yz
{0},
yt
{0},
zt
{0} {}
33
Cov4f
(
double
vx,
double
vy,
double
vz,
double
vt,
34
double
vxy = 0,
double
vxz = 0,
double
vxt = 0,
35
double
vyz = 0,
double
vyt = 0,
double
vzt = 0)
36
:
xx
{static_cast<float>(vx)},
yy
{static_cast<float>(vy)},
zz
{static_cast<float>(vz)},
tt
{static_cast<float>(vt)},
37
xy
{static_cast<float>(vxy)},
xz
{static_cast<float>(vxz)},
xt
{static_cast<float>(vxt)},
38
yz
{static_cast<float>(vyz)},
yt
{static_cast<float>(vyt)},
zt
{static_cast<float>(vzt)} {}
39
float
operator()
(
unsigned
i,
unsigned
j)
const
{
40
// diagonal
41
if
(i == j) {
42
return
*(&
xx
+ i);
43
// off-diagonal, can probably be done with less if statements
44
}
else
{
45
if
(i > j) {
46
std::swap(i,j);
47
}
48
if
(i == 0) {
49
return
*(&
xy
+ j - 1);
50
}
else
if
(i == 1) {
51
return
*(&
yz
+ j - 2);
52
}
else
{
53
return
zt
;
54
}
55
}
56
}
57
58
59
};
60
61
std::ostream&
operator<<
(std::ostream& o,
const
Cov4f& value);
62
63
#if defined(PODIO_JSON_OUTPUT) && !defined(__CLING__)
64
void
to_json(nlohmann::json& j,
const
Cov4f& value);
65
#endif
66
67
namespace
v890 {
68
using
Cov4f
=
edm4eic::Cov4f
;
69
}
// namespace v890
70
71
72
}
// namespace edm4eic
73
74
75
#endif
edm4eic::Cov4f
Definition
Cov4f.h:19
edm4eic::Cov4f::yz
float yz
Definition
Cov4f.h:28
edm4eic::Cov4f::yt
float yt
Definition
Cov4f.h:29
edm4eic::Cov4f::xy
float xy
Definition
Cov4f.h:25
edm4eic::Cov4f::zz
float zz
Definition
Cov4f.h:23
edm4eic::Cov4f::Cov4f
Cov4f(double vx, double vy, double vz, double vt, double vxy=0, double vxz=0, double vxt=0, double vyz=0, double vyt=0, double vzt=0)
Definition
Cov4f.h:33
edm4eic::Cov4f::xz
float xz
Definition
Cov4f.h:26
edm4eic::Cov4f::operator()
float operator()(unsigned i, unsigned j) const
Definition
Cov4f.h:39
edm4eic::Cov4f::Cov4f
Cov4f()
Definition
Cov4f.h:32
edm4eic::Cov4f::yy
float yy
Definition
Cov4f.h:22
edm4eic::Cov4f::zt
float zt
Definition
Cov4f.h:30
edm4eic::Cov4f::xt
float xt
Definition
Cov4f.h:27
edm4eic::Cov4f::tt
float tt
Definition
Cov4f.h:24
edm4eic::Cov4f::xx
float xx
Definition
Cov4f.h:21
edm4eic::v890::Cov4f
edm4eic::Cov4f Cov4f
Definition
Cov4f.h:68
edm4eic
Definition
CalorimeterHit.cc:17
edm4eic::operator<<
std::ostream & operator<<(std::ostream &o, const CalorimeterHit &value)
Definition
CalorimeterHit.cc:99
build
edm4eic
Cov4f.h
Generated by
1.17.0