Go to the documentation of this file.
3 #ifndef EICD_VectorXY_H
4 #define EICD_VectorXY_H
18 VectorXY(
double xx,
double yy) :
x{
static_cast<float>(xx)},
y{
static_cast<float>(yy)} {}
21 float mag()
const {
return std::hypot(
x,
y);}
22 float r()
const {
return mag();}
23 float phi()
const {
return atan2(
y,
x);}
24 operator std::pair<float, float>()
const {
return {
x,
y};}
std::ostream & operator<<(std::ostream &o, const ConstBasicParticle &value)
Definition: BasicParticle.cc:102
float y
Definition: VectorXY.h:15
VectorXY()
Definition: VectorXY.h:17
Definition: BasicParticle.cc:13
const float & operator[](unsigned i) const
Definition: VectorXY.h:20
float mag() const
Definition: VectorXY.h:21
float x
[mm] or [GeV]
Definition: VectorXY.h:14
float phi() const
Definition: VectorXY.h:23
VectorXY(double xx, double yy)
Definition: VectorXY.h:18
float r() const
Definition: VectorXY.h:22
float dot(const VectorXY &rhs) const
Definition: VectorXY.h:25
Definition: VectorXY.h:12
VectorXY subtract(const VectorXY &rhs) const
Definition: VectorXY.h:27
VectorXY scale(double f) const
Definition: VectorXY.h:28
float & operator[](unsigned i)
Definition: VectorXY.h:19
VectorXY add(const VectorXY &rhs) const
Definition: VectorXY.h:26