BornAgain
1.19.79
Simulate and fit neutron and x-ray scattering at grazing incidence
|
BeamInclinationAxisItem contains inclination angle axis for specular/off-specular simulations and also provides distribution functionality. Considering distribution, differs from BeamInclinationAngleItem by any distribution mean value being always zero.
Definition at line 26 of file SpecularBeamInclinationItem.h.
Public Member Functions | |
SpecularBeamInclinationItem (const InstrumentItem *owningInstrument) | |
BasicAxisItem * | alphaAxis () const |
The currently selected axis. More... | |
DistributionItem * | distribution () const |
SelectionDescriptor< DistributionItem * > | distributionSelection () const |
std::unique_ptr< ParameterDistribution > | getParameterDistributionForName (ParameterDistribution::WhichParameter which) const |
void | initPointwiseAxis (const IAxis &axis, QString units) |
void | initUniformAxis (const IAxis &axis) |
virtual double | meanValue () const |
bool | pointwiseAlphaAxisDefined () const |
True if a pointwise axis was defined. More... | |
bool | pointwiseAlphaAxisSelected () const |
True if pointwise axis is selected. More... | |
void | resetToValue (double value) |
double | scaleFactor () const override |
void | selectPointwiseAxis () |
void | selectUniformAxis () |
void | serialize (Streamer &s) override |
void | setDistribution (DistributionItem *d) |
template<typename T > | |
T * | setDistributionType () |
bool | uniformAlphaAxisSelected () const |
True if uniform axis is selected. More... | |
Protected Member Functions | |
virtual std::unique_ptr< IDistribution1D > | createDistribution1D () const |
Protected Attributes | |
SelectionProperty< DistributionItem * > | m_distribution |
Private Attributes | |
bool | m_currentAxisIsUniformAxis |
const InstrumentItem * | m_owningInstrument |
std::unique_ptr< PointwiseAxisItem > | m_pointwiseAlphaAxis |
std::unique_ptr< BasicAxisItem > | m_uniformAlphaAxis |
|
explicit |
Definition at line 63 of file SpecularBeamInclinationItem.cpp.
References SelectionProperty< T >::initWithInitializer(), m_currentAxisIsUniformAxis, BeamDistributionItem::m_distribution, m_uniformAlphaAxis, and DistributionItemCatalog::symmetricTypes().
BasicAxisItem * SpecularBeamInclinationItem::alphaAxis | ( | ) | const |
The currently selected axis.
Definition at line 99 of file SpecularBeamInclinationItem.cpp.
References m_currentAxisIsUniformAxis, m_pointwiseAlphaAxis, and m_uniformAlphaAxis.
Referenced by SpecularInstrumentItem::alignedWith(), SpecularBeamItem::inclinationAxis(), InclinationAnglesEditor::onAxisTypeSelected(), and SpecularBeamItem::updateWavelength().
|
protectedvirtualinherited |
Definition at line 75 of file BeamDistributionItem.cpp.
References DistributionItem::createDistribution(), BeamDistributionItem::distribution(), and BeamDistributionItem::scaleFactor().
Referenced by BeamDistributionItem::getParameterDistributionForName(), and BeamDistributionItem::meanValue().
|
inherited |
Definition at line 60 of file BeamDistributionItem.cpp.
References SelectionProperty< T >::get(), and BeamDistributionItem::m_distribution.
Referenced by ParameterTreeBuilder::addBeamDistribution(), BeamDistributionItem::createDistribution1D(), DistributionSelector::createDistributionWidgets(), BeamDistributionItem::getParameterDistributionForName(), BeamDistributionItem::meanValue(), SpecularBeamWavelengthItem::setToRange(), DistributionEditor::updatePlot(), and InclinationAnglesEditor::updatePlot().
|
inherited |
Definition at line 65 of file BeamDistributionItem.cpp.
References BeamDistributionItem::m_distribution.
Referenced by DistributionSelector::DistributionSelector(), and DistributionSelector::refresh().
|
inherited |
Definition at line 22 of file BeamDistributionItem.cpp.
References BeamDistributionItem::createDistribution1D(), BeamDistributionItem::distribution(), and BeamDistributionItem::scaleFactor().
void SpecularBeamInclinationItem::initPointwiseAxis | ( | const IAxis & | axis, |
QString | units | ||
) |
Definition at line 135 of file SpecularBeamInclinationItem.cpp.
References m_owningInstrument, and m_pointwiseAlphaAxis.
Referenced by SpecularBeamItem::updateToData().
void SpecularBeamInclinationItem::initUniformAxis | ( | const IAxis & | axis | ) |
Definition at line 130 of file SpecularBeamInclinationItem.cpp.
References m_uniformAlphaAxis.
Referenced by SpecularBeamItem::updateToData().
|
virtualinherited |
Definition at line 40 of file BeamDistributionItem.cpp.
References BeamDistributionItem::createDistribution1D(), BeamDistributionItem::distribution(), and BeamDistributionItem::scaleFactor().
Referenced by BeamAzimuthalAngleItem::azimuthalAngle(), BeamInclinationAngleItem::inclinationAngle(), and BeamWavelengthItem::wavelength().
bool SpecularBeamInclinationItem::pointwiseAlphaAxisDefined | ( | ) | const |
True if a pointwise axis was defined.
It still is no necessarily the selected axis! Not to be confused with pointwiseAlphaAxisSelected
Definition at line 104 of file SpecularBeamInclinationItem.cpp.
References m_pointwiseAlphaAxis.
Referenced by InclinationAnglesEditor::InclinationAnglesEditor(), and selectPointwiseAxis().
bool SpecularBeamInclinationItem::pointwiseAlphaAxisSelected | ( | ) | const |
True if pointwise axis is selected.
Not to be confused with pointwiseAlphaAxisDefined
Definition at line 109 of file SpecularBeamInclinationItem.cpp.
References m_currentAxisIsUniformAxis.
Referenced by InclinationAnglesEditor::InclinationAnglesEditor(), and InclinationAnglesEditor::onAxisTypeSelected().
|
inherited |
Definition at line 48 of file BeamDistributionItem.cpp.
References BeamDistributionItem::m_distribution, and SelectionProperty< T >::set().
|
overridevirtual |
Reimplemented from BeamDistributionItem.
Definition at line 94 of file SpecularBeamInclinationItem.cpp.
void SpecularBeamInclinationItem::selectPointwiseAxis | ( | ) |
Definition at line 124 of file SpecularBeamInclinationItem.cpp.
References m_currentAxisIsUniformAxis, and pointwiseAlphaAxisDefined().
Referenced by InclinationAnglesEditor::onAxisTypeSelected(), and SpecularBeamItem::updateToData().
void SpecularBeamInclinationItem::selectUniformAxis | ( | ) |
Definition at line 119 of file SpecularBeamInclinationItem.cpp.
References m_currentAxisIsUniformAxis.
Referenced by InclinationAnglesEditor::onAxisTypeSelected(), and SpecularBeamItem::updateToData().
|
overridevirtual |
Implements BeamDistributionItem.
Definition at line 76 of file SpecularBeamInclinationItem.cpp.
References Streamer::assertVersion(), degree, m_currentAxisIsUniformAxis, BeamDistributionItem::m_distribution, m_owningInstrument, m_pointwiseAlphaAxis, m_uniformAlphaAxis, Serialize::rwValue(), DistributionItem::setLimits(), DistributionItem::setUnit(), and Streamer::xmlReader().
|
inherited |
Definition at line 70 of file BeamDistributionItem.cpp.
References BeamDistributionItem::m_distribution, and SelectionProperty< T >::set().
|
inherited |
Definition at line 52 of file BeamDistributionItem.h.
References SelectionProperty< T >::get(), BeamDistributionItem::m_distribution, and SelectionProperty< T >::set().
bool SpecularBeamInclinationItem::uniformAlphaAxisSelected | ( | ) | const |
True if uniform axis is selected.
Definition at line 114 of file SpecularBeamInclinationItem.cpp.
References m_currentAxisIsUniformAxis.
Referenced by SpecularInstrumentItem::alignedWith().
|
private |
Definition at line 59 of file SpecularBeamInclinationItem.h.
Referenced by SpecularBeamInclinationItem(), alphaAxis(), pointwiseAlphaAxisSelected(), selectPointwiseAxis(), selectUniformAxis(), serialize(), and uniformAlphaAxisSelected().
|
protectedinherited |
Definition at line 48 of file BeamDistributionItem.h.
Referenced by BeamAzimuthalAngleItem::BeamAzimuthalAngleItem(), BeamInclinationAngleItem::BeamInclinationAngleItem(), BeamWavelengthItem::BeamWavelengthItem(), SpecularBeamInclinationItem(), BeamDistributionItem::distribution(), BeamDistributionItem::distributionSelection(), BeamDistributionItem::resetToValue(), BeamAzimuthalAngleItem::serialize(), BeamInclinationAngleItem::serialize(), BeamWavelengthItem::serialize(), serialize(), BeamDistributionItem::setDistribution(), and BeamDistributionItem::setDistributionType().
|
private |
Definition at line 61 of file SpecularBeamInclinationItem.h.
Referenced by initPointwiseAxis(), and serialize().
|
private |
Definition at line 58 of file SpecularBeamInclinationItem.h.
Referenced by alphaAxis(), initPointwiseAxis(), pointwiseAlphaAxisDefined(), and serialize().
|
private |
Definition at line 57 of file SpecularBeamInclinationItem.h.
Referenced by SpecularBeamInclinationItem(), alphaAxis(), initUniformAxis(), and serialize().