Direction set covering (part of) solid angle.
More...
#include <JOmega3D.hh>
Direction set covering (part of) solid angle.
Definition at line 62 of file JOmega3D.hh.
JGEOMETRY3D::JOmega3D::JOmega3D |
( |
| ) |
|
|
inline |
Default constructor.
Definition at line 69 of file JOmega3D.hh.
Base class for direction set.
JGEOMETRY3D::JOmega3D::JOmega3D |
( |
const JAngle3D & |
dir | ) |
|
|
inline |
Constructor.
- Parameters
-
Definition at line 79 of file JOmega3D.hh.
Base class for direction set.
JGEOMETRY3D::JOmega3D::JOmega3D |
( |
const double |
grid | ) |
|
|
inline |
Constructor.
- Parameters
-
grid | angular step size [rad] |
Definition at line 91 of file JOmega3D.hh.
Data structure for angles in three dimensions.
void configure(const JAngle3D &dir, const JAngleRange &theta, const double grid)
Configure direction set.
Base class for direction set.
JGEOMETRY3D::JOmega3D::JOmega3D |
( |
const JAngle3D & |
dir, |
|
|
const JAngleRange & |
theta, |
|
|
const double |
grid |
|
) |
| |
|
inline |
Constructor.
- Parameters
-
dir | principal direction |
theta | polar angle range [rad] |
grid | angular step size [rad] |
Definition at line 106 of file JOmega3D.hh.
void configure(const JAngle3D &dir, const JAngleRange &theta, const double grid)
Configure direction set.
Base class for direction set.
void JGEOMETRY3D::JOmega3D::configure |
( |
const JAngle3D & |
dir, |
|
|
const JAngleRange & |
theta, |
|
|
const double |
grid |
|
) |
| |
|
inline |
Configure direction set.
- Parameters
-
dir | principal direction |
theta | polar angle range [rad] |
grid | angular step size [rad] |
Definition at line 122 of file JOmega3D.hh.
130 double thetaMin = theta.getLowerLimit();
131 double thetaMax = theta.getUpperLimit();
133 if (thetaMin < 0.0) { thetaMin = 0.0; }
134 if (thetaMin >
PI) { thetaMin =
PI; }
135 if (thetaMax < 0.0) { thetaMax = 0.0; }
136 if (thetaMax >
PI) { thetaMax =
PI; }
138 if (thetaMax > thetaMin) {
142 const double rad = thetaMax - thetaMin;
143 const double bin = rad / floor(rad/(1.4*grid) + 0.5);
144 const double unit = 2.0 * sqrt(1.0 - cos(grid));
146 for (
double theta = thetaMin; theta < thetaMax + 0.5*bin; theta += bin) {
150 if (theta > 0.5*bin &&
PI - theta > 0.5*bin)
151 step =
PI / floor(
PI*sin(theta)/unit + 0.5);
155 for (
double phi = 0.0; phi < 2.0*
PI - 0.5*step; phi += step) {
Data structure for angles in three dimensions.
Data structure for direction in three dimensions.
int JGEOMETRY3D::JOmega3D_t::find |
( |
const JAngle3D & |
dir | ) |
const |
|
inlineinherited |
Get index of direction closest to given direction.
- Parameters
-
- Returns
- index (-1 if error)
Definition at line 39 of file JOmega3D.hh.
44 for (const_iterator i = this->begin(); i != this->end(); ++i) {
46 const double x = dir.
getDot(*i);
50 index = std::distance(this->begin(), i);
double getDot(const JAngle3D &angle) const
Get dot product.
The documentation for this class was generated from the following file: