![]() |
HepMC Reference DocumentationHepMC |
#include <Polarization.h>
Public Member Functions | |
Polarization (double theta=0, double phi=0) | |
default constructor | |
Polarization (const Polarization &inpolar) | |
construct from another polarization object | |
Polarization (const ThreeVector &vec3in) | |
construct using the polar and azimuthal angles from a ThreeVector | |
virtual | ~Polarization () |
void | swap (Polarization &other) |
swap | |
Polarization & | operator= (const Polarization &inpolar) |
make a copy | |
bool | operator== (const Polarization &) const |
equality requires that theta and phi are equal | |
bool | operator!= (const Polarization &) const |
inequality results if either theta or phi differ | |
void | print (std::ostream &ostr=std::cout) const |
print theta and phi | |
double | theta () const |
returns polar angle in radians | |
double | phi () const |
returns azimuthal angle in radians | |
ThreeVector | normal3d () const |
unit 3 vector for easy manipulation | |
double | set_theta (double theta) |
set polar angle in radians | |
double | set_phi (double phi) |
set azimuthal angle in radians | |
void | set_theta_phi (double theta, double phi) |
set both polar and azimuthal angles in radians | |
ThreeVector | set_normal3d (const ThreeVector &vec3in) |
sets polarization according to direction of 3 vec | |
Friends | |
std::ostream & | operator<< (std::ostream &, const Polarization &) |
print polarization information |
HepMC::Polarization stores a particle's theta and phi in radians. Use of this information is optional. By default, the polarization is set to zero.
Definition at line 29 of file Polarization.h.
HepMC::Polarization::Polarization | ( | double | theta = 0 , |
|
double | phi = 0 | |||
) |
HepMC::Polarization::Polarization | ( | const Polarization & | inpolar | ) |
HepMC::Polarization::Polarization | ( | const ThreeVector & | vec3in | ) |
construct using the polar and azimuthal angles from a ThreeVector
Definition at line 21 of file Polarization.cc.
virtual HepMC::Polarization::~Polarization | ( | ) | [inline, virtual] |
Definition at line 41 of file Polarization.h.
ThreeVector HepMC::Polarization::normal3d | ( | ) | const |
unit 3 vector for easy manipulation
Definition at line 47 of file Polarization.cc.
References phi(), HepMC::ThreeVector::setPhi(), HepMC::ThreeVector::setTheta(), and theta().
bool HepMC::Polarization::operator!= | ( | const Polarization & | ) | const [inline] |
Polarization & HepMC::Polarization::operator= | ( | const Polarization & | inpolar | ) |
make a copy
best practices implementation
Definition at line 32 of file Polarization.cc.
References swap().
bool HepMC::Polarization::operator== | ( | const Polarization & | ) | const [inline] |
double HepMC::Polarization::phi | ( | ) | const [inline] |
returns azimuthal angle in radians
Definition at line 87 of file Polarization.h.
Referenced by normal3d(), HepMC::operator<<(), and operator==().
void HepMC::Polarization::print | ( | std::ostream & | ostr = std::cout |
) | const |
ThreeVector HepMC::Polarization::set_normal3d | ( | const ThreeVector & | vec3in | ) |
sets polarization according to direction of 3 vec
Definition at line 72 of file Polarization.cc.
References HepMC::ThreeVector::phi(), set_phi(), set_theta(), and HepMC::ThreeVector::theta().
double HepMC::Polarization::set_phi | ( | double | phi | ) |
set azimuthal angle in radians
Phi is restricted to be between 0 --> 2pi if an out of range value is given, it is translated to this range.
Definition at line 61 of file Polarization.cc.
Referenced by set_normal3d(), and set_theta_phi().
double HepMC::Polarization::set_theta | ( | double | theta | ) |
set polar angle in radians
Theta is restricted to be between 0 --> pi if an out of range value is given, it is translated to this range.
Definition at line 55 of file Polarization.cc.
Referenced by set_normal3d(), and set_theta_phi().
void HepMC::Polarization::set_theta_phi | ( | double | theta, | |
double | phi | |||
) |
set both polar and azimuthal angles in radians
Definition at line 67 of file Polarization.cc.
References set_phi(), and set_theta().
void HepMC::Polarization::swap | ( | Polarization & | other | ) |
swap
Definition at line 26 of file Polarization.cc.
References m_phi, and m_theta.
Referenced by operator=(), and HepMC::GenParticle::swap().
double HepMC::Polarization::theta | ( | ) | const [inline] |
returns polar angle in radians
Definition at line 86 of file Polarization.h.
Referenced by normal3d(), HepMC::operator<<(), and operator==().
std::ostream& operator<< | ( | std::ostream & | ostr, | |
const Polarization & | polar | |||
) | [friend] |