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: