BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
An incident neutron or x-ray beam.
Public Member Functions | |
Beam (const Beam &other) | |
Beam (double intensity, double wavelength, const Direction &direction) | |
~Beam () override | |
std::string | className () const final |
Beam * | clone () const |
Direction | direction () const |
const IFootprintFactor * | footprintFactor () const |
Returns footprint factor. More... | |
double | intensity () const |
Returns the beam intensity in neutrons/sec. More... | |
std::vector< const INode * > | nodeChildren () const override |
Beam & | operator= (const Beam &other) |
SpinMatrix | polMatrix () const |
Returns the polarization density matrix (in spin basis along z-axis) More... | |
R3 | polVector () const |
Returns polarization density as Bloch vector. More... | |
void | setAzimuthalAngleGuarded (double value) |
Check for limits, set the value if within limits. Throws if limits are violated. More... | |
void | setDirection (const Direction &direction) |
void | setFootprintFactor (const IFootprintFactor &shape_factor) |
Sets footprint factor to the beam. More... | |
void | setInclination (double alpha) |
void | setInclinationAngleGuarded (double value) |
Check for limits, set the value if within limits. Throws if limits are violated. More... | |
void | setInclinationLimits (const RealLimits &limits) |
void | setIntensity (double intensity) |
Sets the beam intensity in neutrons/sec. More... | |
void | setPolarization (R3 bloch_vector) |
Sets the polarization density matrix according to the given Bloch vector. More... | |
void | setWavelength (double wavelength) |
void | setWavelengthGuarded (double value) |
Check for limits, set the value if within limits. Throws if limits are violated. More... | |
double | wavelength () const |
Static Public Member Functions | |
static Beam | horizontalBeam () |
Friends | |
class | DepthProbeSimulationTest |
Beam::Beam | ( | double | intensity, |
double | wavelength, | ||
const Direction & | direction | ||
) |
Beam::Beam | ( | const Beam & | other | ) |
|
override |
|
final |
Beam* Beam::clone | ( | ) | const |
Direction Beam::direction | ( | ) | const |
const IFootprintFactor* Beam::footprintFactor | ( | ) | const |
Returns footprint factor.
|
static |
double Beam::intensity | ( | ) | const |
Returns the beam intensity in neutrons/sec.
|
override |
SpinMatrix Beam::polMatrix | ( | ) | const |
Returns the polarization density matrix (in spin basis along z-axis)
R3 Beam::polVector | ( | ) | const |
Returns polarization density as Bloch vector.
void Beam::setAzimuthalAngleGuarded | ( | double | value | ) |
Check for limits, set the value if within limits. Throws if limits are violated.
void Beam::setDirection | ( | const Direction & | direction | ) |
void Beam::setFootprintFactor | ( | const IFootprintFactor & | shape_factor | ) |
Sets footprint factor to the beam.
void Beam::setInclination | ( | double | alpha | ) |
void Beam::setInclinationAngleGuarded | ( | double | value | ) |
Check for limits, set the value if within limits. Throws if limits are violated.
void Beam::setInclinationLimits | ( | const RealLimits & | limits | ) |
void Beam::setIntensity | ( | double | intensity | ) |
Sets the beam intensity in neutrons/sec.
void Beam::setPolarization | ( | R3 | bloch_vector | ) |
Sets the polarization density matrix according to the given Bloch vector.
void Beam::setWavelength | ( | double | wavelength | ) |
void Beam::setWavelengthGuarded | ( | double | value | ) |
Check for limits, set the value if within limits. Throws if limits are violated.
double Beam::wavelength | ( | ) | const |
|
friend |