diffract - A library function to diffract off a reflection/transmission grating. See the file /proj/axaf/Simul/doc/analysis/grating_notes/grating_notes.ps for details.
namespace diffraction {
enum ReflectTrans { REFLECTION=-1, NONE=0, TRANSMISSION=1 };
void diffract( const diffraction::ReflectTrans& reflect_trans,
const double& myorder, const double& wavelength,
const double& groove_spacing, const dvm3_Vector& normal,
const dvm3_Vector& n_cross_g, dvm3_Vector& photon_dir );
}
The library function takes seven parameters, the first 6 are input parameters and the last parameter (the photon direction) is modified upon return.
The options are :