2 #ifndef HEPMC_POLARIZATION_H
3 #define HEPMC_POLARIZATION_H
13 #include "HepMC/SimpleVector.h"
19 static const double HepMC_pi = 3.14159265358979323846;
55 void print( std::ostream& ostr = std::cout )
const;
78 double valid_theta(
double theta );
80 double valid_phi(
double phi );
106 return !( a == *this );
111 #endif // HEPMC_POLARIZATION_H
void print(std::ostream &ostr=std::cout) const
print theta and phi
void set_undefined()
declares the Polarization as undefined and zeros the values
double set_theta(double theta)
set polar angle in radians
ThreeVector set_normal3d(const ThreeVector &vec3in)
sets polarization according to direction of 3 vec
ThreeVector is a simple representation of a position or displacement 3 vector.
ThreeVector normal3d() const
unit 3 vector for easy manipulation
double theta() const
returns polar angle in radians
Polarization()
default constructor
double set_phi(double phi)
set azimuthal angle in radians
The Polarization class stores theta and phi for a GenParticle.
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
void set_theta_phi(double theta, double phi)
set both polar and azimuthal angles in radians
friend std::ostream & operator<<(std::ostream &, const Polarization &)
print polarization information
bool is_defined() const
returns true if the Polarization has been defined
double phi() const
returns azimuthal angle in radians
bool operator!=(const Polarization &) const
inequality results if either theta or phi differ