MIDSX 0.1
A x-ray transport code system for dosimetry
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
RectangularIsotropicDirectionality Class Reference

Class which represents a rectangular isotropic directionality. More...

#include <source.h>

Collaboration diagram for RectangularIsotropicDirectionality:

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_
 

Detailed Description

Class which represents a rectangular isotropic directionality.

The rectangular isotropic directionality is a uniform distribution over a rectangle.

Definition at line 139 of file source.h.

Constructor & Destructor Documentation

◆ RectangularIsotropicDirectionality()

RectangularIsotropicDirectionality::RectangularIsotropicDirectionality ( Eigen::Vector3d corner,
Eigen::Vector3d edge1,
Eigen::Vector3d edge2 )

Constructor for the RectangularIsotropicDirectionality class.

Parameters
cornerThe vector to the corner of the rectangle from the origin.
edge1The vector from the corner to the second corner of the rectangle.
edge2The vector from the corner to the third corner of the rectangle.

Member Function Documentation

◆ sampleDirection()

Eigen::Vector3d RectangularIsotropicDirectionality::sampleDirection ( const Eigen::Vector3d & photon_initial_position)
overridevirtual

Returns a sample from the rectangular isotropic directionality.

Returns
A sample from the rectangular isotropic directionality.

Implements Directionality.

Member Data Documentation

◆ corner_

Eigen::Vector3d RectangularIsotropicDirectionality::corner_
private

Definition at line 157 of file source.h.

◆ edge1_

Eigen::Vector3d RectangularIsotropicDirectionality::edge1_
private

Definition at line 158 of file source.h.

◆ edge2_

Eigen::Vector3d RectangularIsotropicDirectionality::edge2_
private

Definition at line 159 of file source.h.

◆ normal_

Eigen::Vector3d RectangularIsotropicDirectionality::normal_
private

Definition at line 160 of file source.h.

◆ uniform_dist_

ProbabilityDist::Uniform RectangularIsotropicDirectionality::uniform_dist_
private

Definition at line 161 of file source.h.


The documentation for this class was generated from the following file: