An rl_BasicRay with added polarization information.
More...
#include <rl_Ray.h>
Inherits rl_BasicRay.
|
virtual | ~rl_Ray () |
| Destructor.
|
|
| rl_Ray () |
| Default constructor. More...
|
|
| rl_Ray (rl_BasicRay const &ray, rl_PolCSPOD const &cspol) |
| Constructor. More...
|
|
| rl_Ray (dvm3_Vector const &pos, dvm3_Vector const &dir, double energy, long int id, rl_PolCSPOD const &cspol) |
| Constructor. More...
|
|
void | init_ray (dvm3_Vector const &pos, dvm3_Vector const &dir, double energy, long int id, rl_PolCSPOD const &cspol) |
| Initialize a ray. More...
|
|
rl_Polarization const & | polarization () const |
| Return the polarization state. More...
|
|
void | set_polarization (rl_PolCSPOD const &cspol) |
| Set the polarization state. More...
|
|
void | get_PolCSPOD (rl_PolCSPOD &cs) const |
| Evaluate rl_PolCSPOD corresponding to this ray's polarization state. More...
|
|
double | intensity () const |
| Returns this ray's normalized intensity (i.e., "weight") More...
|
|
void | attenuate (double by_how_much) |
| Attenuate this ray by by_how_much. More...
|
|
void | reflect (dvm3_Vector const &normal, rl_ReflectionCoefPOD const &rflcoef) |
| Reflect this ray's direction vector and polarization state. More...
|
|
void | translate_rotate (dvm3_Vector const &trans, dvm3_RotMat const &rotmat) |
| Translate to BCS origin and rotate from STD to BCS coordinates. More...
|
|
void | derotate_detranslate (dvm3_Vector const &trans, dvm3_RotMat const &rotmat) |
| Derotate back to std coordinates; detranslate back to std origin. More...
|
|
std::ostream & | print_on (std::ostream &os, char const pre[]="", char const pst[]="") const |
| Write the ray contents with optional pre and post comment strings. More...
|
|
An rl_BasicRay with added polarization information.
Definition at line 45 of file rl_Ray.h.
◆ rl_Ray() [1/3]
Default constructor.
Constructs a ray in an INVALID state; use init_ray to initialize the fields.
Definition at line 193 of file rl_Ray.h.
◆ rl_Ray() [2/3]
rl_Ray::rl_Ray |
( |
rl_BasicRay const & |
ray, |
|
|
rl_PolCSPOD const & |
cspol |
|
) |
| |
|
inline |
Constructor.
Construct a ray given an rl_BasicRay and a polarization state.
Definition at line 198 of file rl_Ray.h.
◆ rl_Ray() [3/3]
rl_Ray::rl_Ray |
( |
dvm3_Vector const & |
pos, |
|
|
dvm3_Vector const & |
dir, |
|
|
double |
energy, |
|
|
long int |
id, |
|
|
rl_PolCSPOD const & |
cspol |
|
) |
| |
|
inline |
Constructor.
Construct a ray.
- Parameters
-
pos | ray position vector. |
dir | ray direction unit vector. |
energy | ray energy (keV). |
id | a numeric ray identifier. |
cspol | an OSAC-style complex polarization amplitude vector. |
Definition at line 203 of file rl_Ray.h.
◆ attenuate()
void rl_Ray::attenuate |
( |
double |
by_how_much | ) |
|
|
inline |
Attenuate this ray by by_how_much.
- Parameters
-
by_how_much | how much to attenuate this ray. |
Definition at line 247 of file rl_Ray.h.
◆ derotate_detranslate()
void rl_Ray::derotate_detranslate |
( |
dvm3_Vector const & |
trans, |
|
|
dvm3_RotMat const & |
rotmat |
|
) |
| |
Derotate back to std coordinates; detranslate back to std origin.
- Parameters
-
trans | translation vector. |
rotmat | rotation matrix to be applied. rotmat specifies a rotation from std to bcs; the inverse of rotmat is applied to the ray. |
Definition at line 75 of file rl_Ray.cc.
◆ get_PolCSPOD()
Evaluate rl_PolCSPOD corresponding to this ray's polarization state.
- Parameters
-
cs | return an OSAC-style complex polarization amplitude vector. |
Definition at line 229 of file rl_Ray.h.
◆ init_ray()
void rl_Ray::init_ray |
( |
dvm3_Vector const & |
pos, |
|
|
dvm3_Vector const & |
dir, |
|
|
double |
energy, |
|
|
long int |
id, |
|
|
rl_PolCSPOD const & |
cspol |
|
) |
| |
|
inline |
Initialize a ray.
- Parameters
-
pos | ray position vector. |
dir | ray direction unit vector. |
energy | ray energy (keV). |
id | a numeric ray identifier. |
cspol | an OSAC-style complex polarization amplitude vector. |
Definition at line 211 of file rl_Ray.h.
◆ intensity()
double rl_Ray::intensity |
( |
| ) |
const |
|
inline |
Returns this ray's normalized intensity (i.e., "weight")
- Returns
- this ray's normalized intensity (i.e., "weight")
Definition at line 234 of file rl_Ray.h.
◆ polarization()
Return the polarization state.
- Returns
- polarization state
Definition at line 224 of file rl_Ray.h.
◆ print_on()
std::ostream & rl_Ray::print_on |
( |
std::ostream & |
os, |
|
|
char const |
pre[] = "" , |
|
|
char const |
pst[] = "" |
|
) |
| const |
Write the ray contents with optional pre and post comment strings.
- Parameters
-
os | output stream. |
pre | optional prefix c-string. |
pst | optional postfix c-string. |
Definition at line 86 of file rl_Ray.cc.
◆ reflect()
Reflect this ray's direction vector and polarization state.
- Parameters
-
normal | surface normal unit vector. |
rflcoef | complex reflectances for the surface. |
Definition at line 51 of file rl_Ray.cc.
◆ set_polarization()
void rl_Ray::set_polarization |
( |
rl_PolCSPOD const & |
cspol | ) |
|
|
inline |
Set the polarization state.
- Parameters
-
cspol | an OSAC-style complex polarization amplitude vector. |
Definition at line 242 of file rl_Ray.h.
◆ translate_rotate()
void rl_Ray::translate_rotate |
( |
dvm3_Vector const & |
trans, |
|
|
dvm3_RotMat const & |
rotmat |
|
) |
| |
Translate to BCS origin and rotate from STD to BCS coordinates.
- Parameters
-
trans | translation vector |
rotmat | rotation matrix to be applied. rotmat specifies a rotation from std to bcs. |
Definition at line 63 of file rl_Ray.cc.
The documentation for this class was generated from the following files: