MIDSX 0.1
A x-ray transport code system for dosimetry
|
Class which represents a rectangular isotropic directionality. More...
#include <source.h>
Public Member Functions | |
RectangularIsotropicDirectionality (Eigen::Vector3d corner, Eigen::Vector3d edge1, Eigen::Vector3d edge2) | |
Constructor for the RectangularIsotropicDirectionality class. | |
Eigen::Vector3d | sampleDirection (const Eigen::Vector3d &photon_initial_position) override |
Returns a sample from the rectangular isotropic directionality. | |
Private Member Functions | |
void | handleOrthogonalEdges () |
bool | areEdgesOrthogonal () |
Private Attributes | |
Eigen::Vector3d | corner_ |
Eigen::Vector3d | edge1_ |
Eigen::Vector3d | edge2_ |
Eigen::Vector3d | normal_ |
ProbabilityDist::Uniform | uniform_dist_ |
Class which represents a rectangular isotropic directionality.
The rectangular isotropic directionality is a uniform distribution over a rectangle.
RectangularIsotropicDirectionality::RectangularIsotropicDirectionality | ( | Eigen::Vector3d | corner, |
Eigen::Vector3d | edge1, | ||
Eigen::Vector3d | edge2 ) |
Constructor for the RectangularIsotropicDirectionality class.
corner | The vector to the corner of the rectangle from the origin. |
edge1 | The vector from the corner to the second corner of the rectangle. |
edge2 | The vector from the corner to the third corner of the rectangle. |
|
overridevirtual |
Returns a sample from the rectangular isotropic directionality.
Implements Directionality.
|
private |
|
private |
|
private |
|
private |
|
private |