Go to the documentation of this file.
3 #ifndef EICD_VectorPolar_H
4 #define EICD_VectorPolar_H
20 VectorPolar(
double rr,
double th,
double ph) :
r{
static_cast<float>(rr)},
theta{
static_cast<float>(th)},
phi{
static_cast<float>(ph)} {}
22 float mag()
const {
return r;}
26 float eta()
const {
return -log(tan(0.5*
theta));}
27 operator std::tuple<float, float, float>() {
return {
r,
theta,
phi};}
34 o << value.
theta <<
" ";
35 o << value.
phi <<
" ";
std::ostream & operator<<(std::ostream &o, const ConstBasicParticle &value)
Definition: BasicParticle.cc:102
float phi
[rad, -pi->pi]
Definition: VectorPolar.h:17
float eta() const
Definition: VectorPolar.h:26
float y() const
Definition: VectorPolar.h:24
float theta
[rad, 0->pi]
Definition: VectorPolar.h:16
VectorPolar(const VectorXYZType &v)
Definition: VectorPolar.h:21
VectorPolar(double rr, double th, double ph)
Definition: VectorPolar.h:20
Definition: BasicParticle.cc:13
float r
[mm] or [GeV]
Definition: VectorPolar.h:15
float z() const
Definition: VectorPolar.h:25
Definition: VectorPolar.h:13
float x() const
Definition: VectorPolar.h:23
VectorPolar()
Definition: VectorPolar.h:19
float mag() const
Definition: VectorPolar.h:22