rl_Ray Class Reference

#include <rl_Ray.h>

Collaboration diagram for rl_Ray:
[legend]

List of all members.

Public Member Functions

virtual ~rl_Ray ()
 rl_Ray ()
 rl_Ray (rl_BasicRay const &ray, rl_PolCSPOD const &cspol)
 rl_Ray (dvm3_Vector const &pos, dvm3_Vector const &dir, double energy, long int id, rl_PolCSPOD const &cspol)
void init_ray (dvm3_Vector const &pos, dvm3_Vector const &dir, double energy, long int id, rl_PolCSPOD const &cspol)
rl_Polarization const & polarization () const
void set_polarization (rl_PolCSPOD const &cspol)
void get_PolCSPOD (rl_PolCSPOD &cs) const
double intensity () const
void attenuate (double by_how_much)
void reflect (dvm3_Vector const &normal, rl_ReflectionCoefPOD const &rflcoef)
void translate_rotate (dvm3_Vector const &trans, dvm3_RotMat const &rotmat)
void derotate_detranslate (dvm3_Vector const &trans, dvm3_RotMat const &rotmat)
std::ostream & print_on (std::ostream &os, char const pre[]="", char const pst[]="") const


Detailed Description

An rl_BasicRay with added polarization information.

Definition at line 45 of file rl_Ray.h.


Constructor & Destructor Documentation

rl_Ray::~rl_Ray (  )  [virtual]

Destructor

Definition at line 41 of file rl_Ray.cc.

rl_Ray::rl_Ray (  )  [inline]

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::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::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.


Member Function Documentation

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.

References rl_Polarization::init().

rl_Polarization const & rl_Ray::polarization (  )  const [inline]

Return the polarization state.

Returns:
polarization state

Definition at line 224 of file rl_Ray.h.

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.

References rl_Polarization::init().

void rl_Ray::get_PolCSPOD ( rl_PolCSPOD cs  )  const [inline]

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.

References rl_Polarization::get_PolCSPOD().

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.

References rl_Polarization::intensity().

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.

References rl_Polarization::attenuate().

void rl_Ray::reflect ( dvm3_Vector const &  normal,
rl_ReflectionCoefPOD const &  rflcoef 
)

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.

References rl_Polarization::reflect().

Referenced by rl_MultilayerSurface::reflect().

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.

References rl_Polarization::rotate().

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.

References rl_Polarization::derotate().

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.

References rl_Polarization::print_on().


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

Generated on Mon Nov 3 18:15:05 2008 for rl_raylib by  doxygen 1.5.6