BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
The MaskUnitsConverter converts coordinates of all masks from one units to anoter. More...
Public Types | |
enum | EConvertionDirection { TO_NBINS , FROM_NBINS , UNDEFINED } |
Public Member Functions | |
MaskUnitsConverter () | |
void | convertFromNbins (IntensityDataItem *intensityData) |
Converts all masks on board of IntensityDataItem from bin-fraction coordinates to coordinates of axes currently defined in OutputData. More... | |
void | convertToNbins (IntensityDataItem *intensityData) |
Converts all masks on board of IntensityDataItem into bin-fraction coordinates. More... | |
Private Member Functions | |
double | convert (double value, int axis_index) |
Convert value of axis from/to bin-fraction coordinates. More... | |
void | convertCoordinate (SessionItem *maskItem, const QString &xname, const QString &yname) |
Convert (x,y) coordinates registered as property (i.e. More... | |
void | convertIntensityDataItem (IntensityDataItem *intensityData) |
Converts all masks on board of IntensityDataItem from/to bin-fraction coordinates. More... | |
void | convertMask (SessionItem *maskItem) |
Converts single mask from/to bin-fraction coordinates. More... | |
Private Attributes | |
const OutputData< double > * | m_data |
EConvertionDirection | m_direction |
The MaskUnitsConverter converts coordinates of all masks from one units to anoter.
I.e. masks in 'mm' into masks in 'deg'. This is done in two steps. On first step masks are converted from native coordinates (as given by axes of OutputData) into bin-fraction coordinates. On second step masks are converted from bin-fraction coordinates into current axes of OutputData.
Definition at line 31 of file MaskUnitsConverter.h.
MaskUnitsConverter::MaskUnitsConverter | ( | ) |
Definition at line 22 of file MaskUnitsConverter.cpp.
|
private |
Convert value of axis from/to bin-fraction coordinates.
Definition at line 114 of file MaskUnitsConverter.cpp.
References ASSERT, OutputData< T >::axis(), DataUtils::coordinateFromBinf(), DataUtils::coordinateToBinf(), FROM_NBINS, m_data, m_direction, and TO_NBINS.
Referenced by convertCoordinate().
|
private |
Convert (x,y) coordinates registered as property (i.e.
under P_XPOS, P_YPOS) from/to bin-fraction coordinates. Result of operation are new values for registered properties.
Definition at line 99 of file MaskUnitsConverter.cpp.
References convert(), SessionItem::getItemValue(), SessionItem::isTag(), and SessionItem::setItemValue().
Referenced by convertMask().
void MaskUnitsConverter::convertFromNbins | ( | IntensityDataItem * | intensityData | ) |
Converts all masks on board of IntensityDataItem from bin-fraction coordinates to coordinates of axes currently defined in OutputData.
Definition at line 35 of file MaskUnitsConverter.cpp.
References convertIntensityDataItem(), FROM_NBINS, and m_direction.
Referenced by IntensityDataItem::reset(), and IntensityDataItem::updateAxesUnits().
|
private |
Converts all masks on board of IntensityDataItem from/to bin-fraction coordinates.
Definition at line 43 of file MaskUnitsConverter.cpp.
References convertMask(), SessionItem::getItems(), DataItem::getOutputData(), m_data, IntensityDataItem::maskContainerItem(), and IntensityDataItem::projectionContainerItem().
Referenced by convertFromNbins(), and convertToNbins().
|
private |
Converts single mask from/to bin-fraction coordinates.
Definition at line 61 of file MaskUnitsConverter.cpp.
References convertCoordinate(), DataUtils::coordinateFromBinf(), DataUtils::coordinateToBinf(), SessionItem::getChildrenOfType(), SessionItem::getItemValue(), m_data, m_direction, SessionItem::modelType(), PolygonPointItem::P_POSX, VerticalLineItem::P_POSX, PolygonPointItem::P_POSY, HorizontalLineItem::P_POSY, EllipseItem::P_XCENTER, RectangleItem::P_XLOW, EllipseItem::P_XRADIUS, RectangleItem::P_XUP, EllipseItem::P_YCENTER, RectangleItem::P_YLOW, EllipseItem::P_YRADIUS, RectangleItem::P_YUP, SessionItem::setItemValue(), and TO_NBINS.
Referenced by convertIntensityDataItem().
void MaskUnitsConverter::convertToNbins | ( | IntensityDataItem * | intensityData | ) |
Converts all masks on board of IntensityDataItem into bin-fraction coordinates.
Definition at line 26 of file MaskUnitsConverter.cpp.
References convertIntensityDataItem(), m_direction, and TO_NBINS.
Referenced by IntensityDataItem::reset(), and IntensityDataItem::updateAxesUnits().
|
private |
Definition at line 48 of file MaskUnitsConverter.h.
Referenced by convert(), convertIntensityDataItem(), and convertMask().
|
private |
Definition at line 49 of file MaskUnitsConverter.h.
Referenced by convert(), convertFromNbins(), convertMask(), and convertToNbins().