#include <angles.h>
Angles provides a common interface for generating directions: i.e., two angles that should be interpreted as azimuthal and polar angles.
Classes | |
struct | InvalidTheta |
Thrown for invalid values for theta. More... | |
Public Member Functions | |
Angles () | |
Default constructor. More... | |
Angles (double ph, double cost) | |
void | distribute_isotropically () |
Populate the object with a new direction. More... | |
void | set_phi (const double phi) |
Sets the azimuthal angle. More... | |
void | set_psi (const double psi) |
Sets the euler angle psi. More... | |
void | set_costheta (const double cos) |
Set the polar angle from its cosine. More... | |
void | set_theta (const double theta) |
Set the polar angle. More... | |
bool | add_to_theta (const double delta) |
Advance polar angle. More... | |
bool | add_to_theta (const double delta, const bool reverse) |
Advance polar angle. More... | |
double | phi () const |
double | psi () const |
double | costheta () const |
double | sintheta () const |
double | x () const |
double | y () const |
double | z () const |
ThreeVector | threevec () const |
double | theta () const |
Private Attributes | |
double | phi_ |
Azimuthal angle \(\varphi\). More... | |
double | psi_ |
Euler angle \(\psi\). More... | |
double | costheta_ |
Cosine of polar angle \(\cos\vartheta\). More... | |
|
inline |
|
inline |
[in] | ph | the azimuthal angle |
[in] | cost | cosine of the polar angle |
Definition at line 71 of file angles.h.
|
inline |
|
inline |
Sets the azimuthal angle.
[in] | phi | Any real number to set the azimuthal angle \(\varphi\) to. |
|
inline |
|
inline |
Set the polar angle from its cosine.
This is the preferred way of setting the polar information.
[in] | cos | Cosine of the polar angle \(\cos\vartheta\). |
InvalidTheta | If cos is not in range [-1 .. 1]. |
Definition at line 221 of file angles.h.
|
inline |
Set the polar angle.
In the current implementation, costheta is stored inside the object. Don't convert the angle to and from cosine, use the set-function for the thing you have at hand.
[in] | theta | Any real number to set the polar angle \(\vartheta\) to. |
Definition at line 237 of file angles.h.
|
inline |
Advance polar angle.
A positive addition means that we go towards the southpole.
[in] | delta | Angle increment. |
InvalidTheta | If delta is not in [ \(-\pi\) .. \(\pi\)]. |
Definition at line 243 of file angles.h.
|
inline |
Advance polar angle.
When crossing a pole, azimuthal angle is changed by 180 degrees.
[in] | delta | Angle increment. |
[in] | reverse | If true, we start in the "far" hemisphere, meaning a positive delta will shift the object towards the north pole. |
InvalidTheta | If delta is not in [ \(-\pi\) .. \(\pi\)]. |
Definition at line 268 of file angles.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |