BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
A detector with coordinate axes along angles phi and alpha.
Definition at line 25 of file SphericalDetector.h.
Public Types | |
using | const_iterator = const SimulationAreaIterator & |
Public Member Functions | |
SphericalDetector ()=default | |
SphericalDetector (const SphericalDetector &other) | |
SphericalDetector (size_t n_bin, double width, double phi, double alpha) | |
Returns a detector with phi and alpha axes that have equal width and binning. More... | |
SphericalDetector (size_t n_phi, double phi_min, double phi_max, size_t n_alpha, double alpha_min, double alpha_max) | |
Returns a detector with given phi and alpha axes. More... | |
~SphericalDetector () override=default | |
std::vector< size_t > | active_indices () const |
Returns vector of unmasked detector indices. More... | |
void | addDetAxis (const IAxis &axis) |
void | addMask (const IShape2D &shape, bool mask_value=true) |
Adds mask of given shape to the stack of detector masks. The mask value 'true' means that the channel will be excluded from the simulation. The mask which is added last has priority. More... | |
const PolFilter & | analyzer () const |
Returns detection properties. More... | |
void | applyDetectorResolution (Datafield *p_intensity_map) const |
Applies the detector resolution to the given intensity maps. More... | |
OwningVector< IAxis > | axesClippedToRegionOfInterest () const |
Returns the axes clipped to the region of interest. If no region of interest is explicitly defined, then the whole detector is taken as "region of interest". More... | |
const IAxis & | axis (size_t index) const |
One axis of the complete detector. Any region of interest is not taken into account. More... | |
size_t | axisBinIndex (size_t index, size_t selected_axis) const |
Calculate axis index for given global index. More... | |
SimulationAreaIterator | beginNonMaskedPoints () const |
Create begin-iterator to iterate over all points which are not masked and lay within the "Region of Interest". More... | |
SimulationAreaIterator | beginRegionOfInterestPoints () const |
Create begin-iterator to iterate over all points which lay within the "Region of Interest". If no region of interest is explicitly defined, then the whole detector is taken as "region of interest". No matter whether masked or not. More... | |
void | checkNodeArgs () const |
Raises exception if a parameter value is invalid. More... | |
std::string | className () const override |
Returns the class name, to be hard-coded in each leaf class that inherits from INode. More... | |
SphericalDetector * | clone () const override |
std::unique_ptr< DetectorContext > | createContext () const |
Datafield * | createDetectorIntensity (const std::vector< std::unique_ptr< DiffuseElement >> &elements) const |
Returns new intensity map with resolution applied, and cropped to ROI if applicable. More... | |
std::unique_ptr< Datafield > | createDetectorMap () const |
Returns empty detector map in given axes units. This map is a data array limited to the size of the "Region of interest". More... | |
Coords | defaultCoords () const override |
Returns default axes units. More... | |
size_t | detectorIndexToRegionOfInterestIndex (size_t detectorIndex) const |
const DetectorMask * | detectorMask () const |
const IDetectorResolution * | detectorResolution () const |
Returns a pointer to detector resolution object. More... | |
SimulationAreaIterator | endNonMaskedPoints () const |
Create end-iterator to iterate over all points which are not masked and lay within the "Region of Interest". More... | |
SimulationAreaIterator | endRegionOfInterestPoints () const |
Create end-iterator to iterate over all points which lay within the "Region of Interest". If no region of interest is explicitly defined, then the whole detector is taken as "region of interest". No matter whether masked or not. More... | |
bool | hasExplicitRegionOfInterest () const |
True if a region of interest is explicitly set. More... | |
void | iterateOverNonMaskedPoints (std::function< void(const_iterator)> func) const |
Iterate over all non-masked points within "region of interest". If no region of interest is explicitly defined, then the whole detector is taken as "region of interest". More... | |
void | iterateOverRegionOfInterest (std::function< void(const_iterator)> func) const |
Iterate over all points within "region of interest", no matter whether they are masked or not. If no region of interest is explicitly defined, then the whole detector is taken as "region of interest". More... | |
void | maskAll () |
Put the mask for all detector channels (i.e. exclude whole detector from the analysis) More... | |
std::vector< const INode * > | nodeChildren () const override |
Returns all children. More... | |
std::vector< const INode * > | nodeOffspring () const |
Returns all descendants. More... | |
size_t | numberOfElements () const |
Returns number of simulation elements. More... | |
ICoordSystem * | offspecCoords (IAxis *beamAxis, const Direction &beamDirection) const override |
virtual std::vector< ParaMeta > | parDefs () const |
Returns the parameter definitions, to be hard-coded in each leaf class. More... | |
size_t | rank () const |
Returns number of defined axes. More... | |
std::pair< double, double > | regionOfInterestBounds (size_t iAxis) const |
The lower and upper bound of the region of interest. If no region of interest is explicitly defined, then the whole detector is taken as "region of interest". More... | |
size_t | regionOfInterestIndexToDetectorIndex (size_t regionOfInterestIndex) const |
Convert an index of the region of interest to an index of the detector. If no region of interest is set, then the index stays unmodified (since ROI == detector area). More... | |
void | resetRegionOfInterest () |
Resets region of interest making whole detector plane available for the simulation. More... | |
CoordSystem2D * | scatteringCoords (const Beam &beam) const override |
void | setAnalyzer (R3 direction, double efficiency, double total_transmission) |
Sets the polarization analyzer characteristics of the detector. More... | |
virtual void | setDetectorNormal (const Direction &) |
Inits detector with the beam settings. More... | |
void | setDetectorParameters (size_t n_x, double x_min, double x_max, size_t n_y, double y_min, double y_max) |
Sets equidistant axes. More... | |
void | setDetectorResolution (const IDetectorResolution &p_detector_resolution) |
Sets the detector resolution. More... | |
void | setRegionOfInterest (double xlow, double ylow, double xup, double yup) |
Sets rectangular region of interest with lower left and upper right corners defined. More... | |
void | setResolutionFunction (const IResolutionFunction2D &resFunc) |
size_t | sizeOfRegionOfInterest () const |
The size of the "Region of Interest". Same as totalSize() if no region of interest has been explicitly set. More... | |
size_t | totalSize () const |
Returns total number of pixels. Any region of interest is not taken into account. More... | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) More... | |
Protected Member Functions | |
virtual std::pair< double, double > | boundsOfExplicitRegionOfInterest (size_t iAxis) const |
Lower and upper bound of one axis of an explicitly set ROI. Return 0/0 if no ROI has been explicitly set. More... | |
void | clear () |
size_t | getGlobalIndex (size_t x, size_t y) const |
Calculate global index from two axis indices. More... | |
virtual size_t | sizeOfExplicitRegionOfInterest () const |
Return 0 if no ROI has been explicitly set. Size means number of data points. More... | |
Protected Attributes | |
std::vector< RoiOfAxis > | m_explicitROI |
an explicitly defined region of interest. Empty if no ROI has been defined. Vector index corresponds to axis index in m_axes More... | |
std::vector< double > | m_P |
Private Member Functions | |
std::string | axisName (size_t index) const override |
Returns the name for the axis with given index. More... | |
IPixel * | createPixel (size_t index) const override |
Creates an IPixel for the given Datafield object and index. More... | |
size_t | indexOfSpecular (const Beam &beam) const override |
Returns index of pixel that contains the specular wavevector. If no pixel contains this specular wavevector, the number of pixels is returned. This corresponds to an overflow index. More... | |
Private Attributes | |
OwningVector< IAxis > | m_axes |
std::shared_ptr< DetectorMask > | m_detector_mask |
std::unique_ptr< IDetectorResolution > | m_detector_resolution |
PolFilter | m_polAnalyzer |
|
inherited |
Definition at line 59 of file IDetector.h.
|
default |
Referenced by clone().
SphericalDetector::SphericalDetector | ( | size_t | n_phi, |
double | phi_min, | ||
double | phi_max, | ||
size_t | n_alpha, | ||
double | alpha_min, | ||
double | alpha_max | ||
) |
Returns a detector with given phi and alpha axes.
n_phi | number of phi-axis bins |
phi_min | low edge of first phi-bin |
phi_max | upper edge of last phi-bin |
n_alpha | number of alpha-axis bins |
alpha_min | low edge of first alpha-bin |
alpha_max | upper edge of last alpha-bin |
Definition at line 27 of file SphericalDetector.cpp.
References IDetector::setDetectorParameters().
SphericalDetector::SphericalDetector | ( | size_t | n_bin, |
double | width, | ||
double | phi, | ||
double | alpha | ||
) |
Returns a detector with phi and alpha axes that have equal width and binning.
n_bin | number of bins per direction |
width | full width of angular range in phi or alpha |
phi | central phi angle |
alpha | central alpha angle |
Definition at line 33 of file SphericalDetector.cpp.
|
default |
|
overridedefault |
|
inherited |
Returns vector of unmasked detector indices.
Definition at line 346 of file IDetector.cpp.
References SimulationAreaIterator::detectorIndex(), and IDetector::iterateOverNonMaskedPoints().
Referenced by DetectorContext::setup_context().
|
inherited |
Definition at line 57 of file IDetector.cpp.
References IDetector::axis(), IAxis::clone(), OwningVector< T >::emplace_back(), IDetector::m_axes, IDetector::m_detector_mask, and IDetector::rank().
Referenced by IDetector::setDetectorParameters().
|
inherited |
Adds mask of given shape to the stack of detector masks. The mask value 'true' means that the channel will be excluded from the simulation. The mask which is added last has priority.
Definition at line 360 of file IDetector.cpp.
References IDetector::m_detector_mask.
Referenced by ISimulation2D::addMask(), and IDetector::maskAll().
|
inlineinherited |
Returns detection properties.
Definition at line 204 of file IDetector.h.
References IDetector::m_polAnalyzer.
Referenced by ISimulation2D::force_polarized(), ISimulation2D::generateElements(), and DetectorContext::setup_context().
|
inherited |
Applies the detector resolution to the given intensity maps.
Definition at line 169 of file IDetector.cpp.
References ASSERT, Frame::cloned_axes(), IDetector::detectorMask(), Datafield::frame(), IDetector::iterateOverNonMaskedPoints(), IDetector::m_detector_resolution, SimulationAreaIterator::roiIndex(), and Datafield::setVector().
Referenced by IDetector::createDetectorIntensity(), and OffspecSimulation::transferDetectorImage().
|
inherited |
Returns the axes clipped to the region of interest. If no region of interest is explicitly defined, then the whole detector is taken as "region of interest".
Definition at line 136 of file IDetector.cpp.
References IDetector::axis(), IAxis::clip(), OwningVector< T >::emplace_back(), IDetector::m_axes, IDetector::regionOfInterestBounds(), and OwningVector< T >::size().
Referenced by RectangularDetector::offspecCoords(), offspecCoords(), RectangularDetector::scatteringCoords(), and scatteringCoords().
|
inherited |
One axis of the complete detector. Any region of interest is not taken into account.
Definition at line 74 of file IDetector.cpp.
References ASSERT, IDetector::m_axes, and IDetector::rank().
Referenced by IDetector::RoiOfAxis::RoiOfAxis(), IDetector::addDetAxis(), IDetector::axesClippedToRegionOfInterest(), IDetector::createDetectorMap(), RectangularDetector::createPixel(), createPixel(), IDetector::getGlobalIndex(), RectangularDetector::height(), RectangularDetector::indexOfSpecular(), indexOfSpecular(), OffspecSimulation::intensityMapSize(), OffspecSimulation::pack_result(), IDetector::setRegionOfInterest(), OffspecSimulation::transferDetectorImage(), RectangularDetector::width(), RectangularDetector::xSize(), and RectangularDetector::ySize().
|
inherited |
Calculate axis index for given global index.
Definition at line 80 of file IDetector.cpp.
References ASSERT, IDetector::m_axes, IDetector::rank(), and OwningVector< T >::size().
Referenced by RectangularDetector::createPixel(), and createPixel().
|
overrideprivatevirtual |
Returns the name for the axis with given index.
Implements IDetector.
Definition at line 58 of file SphericalDetector.cpp.
|
inherited |
Create begin-iterator to iterate over all points which are not masked and lay within the "Region of Interest".
Definition at line 261 of file IDetector.cpp.
References SimulationAreaIterator::createBegin(), and SimulationAreaIterator::notMasked.
Referenced by IDetector::createDetectorIntensity(), and IDetector::iterateOverNonMaskedPoints().
|
inherited |
Create begin-iterator to iterate over all points which lay within the "Region of Interest". If no region of interest is explicitly defined, then the whole detector is taken as "region of interest". No matter whether masked or not.
Definition at line 271 of file IDetector.cpp.
References SimulationAreaIterator::createBegin(), and SimulationAreaIterator::regionOfInterest.
Referenced by IDetector::iterateOverRegionOfInterest().
|
protectedvirtualinherited |
Lower and upper bound of one axis of an explicitly set ROI. Return 0/0 if no ROI has been explicitly set.
Definition at line 106 of file IDetector.cpp.
References ASSERT, IDetector::m_explicitROI, and IDetector::rank().
Referenced by IDetector::regionOfInterestBounds().
|
inherited |
Raises exception if a parameter value is invalid.
Definition at line 27 of file INode.cpp.
References ASSERT, RealLimits::check(), INode::className(), INF, RealLimits::limited(), RealLimits::limitless(), INode::m_P, ParaMeta::name, RealLimits::nonnegative(), INode::parDefs(), ParaMeta::vMax, and ParaMeta::vMin.
Referenced by BarGauss::BarGauss(), BarLorentz::BarLorentz(), Bipyramid4::Bipyramid4(), Box::Box(), CantellatedCube::CantellatedCube(), Cone::Cone(), ConstantBackground::ConstantBackground(), CosineRippleBox::CosineRippleBox(), CosineRippleGauss::CosineRippleGauss(), CosineRippleLorentz::CosineRippleLorentz(), Cylinder::Cylinder(), DistributionCosine::DistributionCosine(), DistributionGate::DistributionGate(), DistributionGaussian::DistributionGaussian(), DistributionLogNormal::DistributionLogNormal(), DistributionLorentz::DistributionLorentz(), DistributionTrapezoid::DistributionTrapezoid(), Dodecahedron::Dodecahedron(), EllipsoidalCylinder::EllipsoidalCylinder(), FootprintGauss::FootprintGauss(), FootprintSquare::FootprintSquare(), FuzzySphere::FuzzySphere(), GaussSphere::GaussSphere(), HemiEllipsoid::HemiEllipsoid(), HollowSphere::HollowSphere(), HorizontalCylinder::HorizontalCylinder(), Icosahedron::Icosahedron(), LongBoxGauss::LongBoxGauss(), LongBoxLorentz::LongBoxLorentz(), PlatonicOctahedron::PlatonicOctahedron(), PlatonicTetrahedron::PlatonicTetrahedron(), Prism3::Prism3(), Prism6::Prism6(), Profile1DCauchy::Profile1DCauchy(), Profile1DCosine::Profile1DCosine(), Profile1DGate::Profile1DGate(), Profile1DGauss::Profile1DGauss(), Profile1DTriangle::Profile1DTriangle(), Profile1DVoigt::Profile1DVoigt(), Profile2DCauchy::Profile2DCauchy(), Profile2DCone::Profile2DCone(), Profile2DGate::Profile2DGate(), Profile2DGauss::Profile2DGauss(), Profile2DVoigt::Profile2DVoigt(), Pyramid2::Pyramid2(), Pyramid3::Pyramid3(), Pyramid4::Pyramid4(), Pyramid6::Pyramid6(), RotationEuler::RotationEuler(), RotationX::RotationX(), RotationY::RotationY(), RotationZ::RotationZ(), SawtoothRippleBox::SawtoothRippleBox(), SawtoothRippleGauss::SawtoothRippleGauss(), SawtoothRippleLorentz::SawtoothRippleLorentz(), Sphere::Sphere(), Spheroid::Spheroid(), TruncatedCube::TruncatedCube(), TruncatedSphere::TruncatedSphere(), and TruncatedSpheroid::TruncatedSpheroid().
|
inlineoverridevirtual |
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
Implements INode.
Definition at line 50 of file SphericalDetector.h.
|
protectedinherited |
Definition at line 69 of file IDetector.cpp.
References OwningVector< T >::clear(), and IDetector::m_axes.
Referenced by IDetector::setDetectorParameters().
|
overridevirtual |
Implements IDetector.
Definition at line 41 of file SphericalDetector.cpp.
References SphericalDetector().
|
inherited |
Definition at line 355 of file IDetector.cpp.
Referenced by ISimulation2D::prepareSimulation().
|
inherited |
Returns new intensity map with resolution applied, and cropped to ROI if applicable.
Definition at line 191 of file IDetector.cpp.
References IDetector::applyDetectorResolution(), ASSERT, IDetector::beginNonMaskedPoints(), IDetector::createDetectorMap(), IDetector::endNonMaskedPoints(), and IDetector::m_detector_resolution.
|
inherited |
Returns empty detector map in given axes units. This map is a data array limited to the size of the "Region of interest".
Definition at line 205 of file IDetector.cpp.
References ASSERT, IDetector::axis(), IAxis::clip(), IAxis::clone(), IDetector::rank(), and IDetector::regionOfInterestBounds().
Referenced by IDetector::createDetectorIntensity().
|
overrideprivatevirtual |
Creates an IPixel for the given Datafield object and index.
Implements IDetector.
Definition at line 46 of file SphericalDetector.cpp.
References IDetector::axis(), IDetector::axisBinIndex(), and IAxis::bin().
|
inlineoverridevirtual |
Returns default axes units.
Implements IDetector.
Definition at line 53 of file SphericalDetector.h.
References RADIANS.
|
inherited |
|
inherited |
Definition at line 372 of file IDetector.cpp.
References IDetector::m_detector_mask.
Referenced by IDetector::applyDetectorResolution(), and SimulationAreaIterator::isMasked().
|
inherited |
Returns a pointer to detector resolution object.
Definition at line 186 of file IDetector.cpp.
References IDetector::m_detector_resolution.
|
inherited |
Create end-iterator to iterate over all points which are not masked and lay within the "Region of Interest".
Definition at line 266 of file IDetector.cpp.
References SimulationAreaIterator::createEnd(), and SimulationAreaIterator::notMasked.
Referenced by IDetector::createDetectorIntensity(), and IDetector::iterateOverNonMaskedPoints().
|
inherited |
Create end-iterator to iterate over all points which lay within the "Region of Interest". If no region of interest is explicitly defined, then the whole detector is taken as "region of interest". No matter whether masked or not.
Definition at line 276 of file IDetector.cpp.
References SimulationAreaIterator::createEnd(), and SimulationAreaIterator::regionOfInterest.
Referenced by IDetector::iterateOverRegionOfInterest().
|
protectedinherited |
Calculate global index from two axis indices.
Definition at line 377 of file IDetector.cpp.
References IDetector::axis(), IDetector::rank(), IAxis::size(), and IDetector::totalSize().
Referenced by RectangularDetector::indexOfSpecular(), and indexOfSpecular().
|
inherited |
True if a region of interest is explicitly set.
Definition at line 131 of file IDetector.cpp.
References OwningVector< T >::empty(), IDetector::m_axes, IDetector::m_explicitROI, and OwningVector< T >::size().
|
overrideprivatevirtual |
Returns index of pixel that contains the specular wavevector. If no pixel contains this specular wavevector, the number of pixels is returned. This corresponds to an overflow index.
Implements IDetector.
Definition at line 71 of file SphericalDetector.cpp.
References Direction::alpha(), IDetector::axis(), IAxis::contains(), Beam::direction(), IAxis::findClosestIndex(), IDetector::getGlobalIndex(), Direction::phi(), IDetector::rank(), and IDetector::totalSize().
|
inherited |
Iterate over all non-masked points within "region of interest". If no region of interest is explicitly defined, then the whole detector is taken as "region of interest".
Definition at line 252 of file IDetector.cpp.
References IDetector::beginNonMaskedPoints(), IDetector::endNonMaskedPoints(), and IDetector::rank().
Referenced by IDetector::active_indices(), IDetector::applyDetectorResolution(), and IDetector::numberOfElements().
|
inherited |
Iterate over all points within "region of interest", no matter whether they are masked or not. If no region of interest is explicitly defined, then the whole detector is taken as "region of interest".
Definition at line 243 of file IDetector.cpp.
References IDetector::beginRegionOfInterestPoints(), IDetector::endRegionOfInterestPoints(), and IDetector::rank().
Referenced by ScatteringSimulation::intensityMapSize().
|
inherited |
Put the mask for all detector channels (i.e. exclude whole detector from the analysis)
Definition at line 365 of file IDetector.cpp.
References IDetector::addMask(), and IDetector::rank().
Referenced by ISimulation2D::maskAll().
|
overridevirtualinherited |
Returns all children.
Reimplemented from INode.
Definition at line 238 of file IDetector.cpp.
References IDetector::m_detector_resolution, and IDetector::m_polAnalyzer.
|
inherited |
Returns all descendants.
Definition at line 61 of file INode.cpp.
References INode::nodeChildren().
|
inherited |
Returns number of simulation elements.
Definition at line 220 of file IDetector.cpp.
References IDetector::iterateOverNonMaskedPoints().
|
overridevirtual |
Implements IDetector.
Definition at line 84 of file SphericalDetector.cpp.
References ASSERT, IDetector::axesClippedToRegionOfInterest(), and IAxis::clone().
|
inlinevirtualinherited |
Returns the parameter definitions, to be hard-coded in each leaf class.
Reimplemented in ConstantBackground, GaussSphere, FuzzySphere, RotationEuler, RotationZ, RotationY, RotationX, Crystal, Layer, HexagonalLattice2D, SquareLattice2D, BasicLattice2D, LayerRoughness, TruncatedSpheroid, TruncatedSphere, TruncatedCube, Spheroid, Sphere, SawtoothRippleLorentz, SawtoothRippleGauss, SawtoothRippleBox, Pyramid6, Pyramid4, Pyramid3, Pyramid2, Prism6, Prism3, PlatonicTetrahedron, PlatonicOctahedron, LongBoxLorentz, LongBoxGauss, Icosahedron, HorizontalCylinder, HollowSphere, HemiEllipsoid, EllipsoidalCylinder, Dodecahedron, Cylinder, CosineRippleLorentz, CosineRippleGauss, CosineRippleBox, Cone, CantellatedCube, Box, Bipyramid4, BarLorentz, BarGauss, Profile2DVoigt, Profile2DCone, Profile2DGate, Profile2DGauss, Profile2DCauchy, Profile1DVoigt, Profile1DCosine, Profile1DTriangle, Profile1DGate, Profile1DGauss, Profile1DCauchy, MisesGaussPeakShape, MisesFisherGaussPeakShape, LorentzFisherPeakShape, GaussFisherPeakShape, IsotropicLorentzPeakShape, IsotropicGaussPeakShape, ParticleLayout, InterferenceTwin, InterferenceRadialParaCrystal, InterferenceHardDisk, Interference2DSuperLattice, Interference2DParaCrystal, Interference1DLattice, DistributionTrapezoid, DistributionCosine, DistributionLogNormal, DistributionGaussian, DistributionLorentz, DistributionGate, ResolutionFunction2DGaussian, PolFilter, FootprintSquare, and FootprintGauss.
Definition at line 51 of file INode.h.
Referenced by INode::checkNodeArgs(), and IFormFactor::pythonConstructor().
|
inherited |
Returns number of defined axes.
Definition at line 64 of file IDetector.cpp.
References IDetector::m_axes, and OwningVector< T >::size().
Referenced by IDetector::addDetAxis(), IDetector::axis(), IDetector::axisBinIndex(), IDetector::boundsOfExplicitRegionOfInterest(), IDetector::createDetectorMap(), IDetector::getGlobalIndex(), RectangularDetector::indexOfSpecular(), indexOfSpecular(), IDetector::iterateOverNonMaskedPoints(), IDetector::iterateOverRegionOfInterest(), IDetector::maskAll(), IDetector::setRegionOfInterest(), IDetector::totalSize(), and OffspecSimulation::transferDetectorImage().
|
inherited |
The lower and upper bound of the region of interest. If no region of interest is explicitly defined, then the whole detector is taken as "region of interest".
Definition at line 227 of file IDetector.cpp.
References ASSERT, IDetector::boundsOfExplicitRegionOfInterest(), IDetector::m_axes, and OwningVector< T >::size().
Referenced by IDetector::axesClippedToRegionOfInterest(), IDetector::createDetectorMap(), and RectangularDetector::regionOfInterestPixel().
|
inherited |
Convert an index of the region of interest to an index of the detector. If no region of interest is set, then the index stays unmodified (since ROI == detector area).
Definition at line 281 of file IDetector.cpp.
References IDetector::m_explicitROI.
Referenced by SimulationAreaIterator::detectorIndex(), and SimulationAreaIterator::isMasked().
|
inherited |
Resets region of interest making whole detector plane available for the simulation.
Definition at line 164 of file IDetector.cpp.
References IDetector::m_explicitROI.
|
overridevirtual |
Implements IDetector.
Definition at line 95 of file SphericalDetector.cpp.
References IDetector::axesClippedToRegionOfInterest(), Beam::direction(), and Beam::wavelength().
|
inherited |
Sets the polarization analyzer characteristics of the detector.
Definition at line 147 of file IDetector.cpp.
References IDetector::m_polAnalyzer.
|
inlinevirtualinherited |
Inits detector with the beam settings.
Reimplemented in RectangularDetector.
Definition at line 67 of file IDetector.h.
|
inherited |
Sets equidistant axes.
Definition at line 329 of file IDetector.cpp.
References IDetector::addDetAxis(), IDetector::axisName(), and IDetector::clear().
Referenced by RectangularDetector::RectangularDetector(), and SphericalDetector().
|
inherited |
Sets the detector resolution.
Definition at line 152 of file IDetector.cpp.
References IDetectorResolution::clone(), and IDetector::m_detector_resolution.
Referenced by IDetector::IDetector(), and IDetector::setResolutionFunction().
|
inherited |
Sets rectangular region of interest with lower left and upper right corners defined.
Definition at line 337 of file IDetector.cpp.
References ASSERT, IDetector::axis(), IDetector::m_explicitROI, and IDetector::rank().
Referenced by ISimulation2D::setRegionOfInterest().
|
inherited |
Definition at line 158 of file IDetector.cpp.
References IDetector::setDetectorResolution().
|
protectedvirtualinherited |
Return 0 if no ROI has been explicitly set. Size means number of data points.
Definition at line 94 of file IDetector.cpp.
References IDetector::m_axes, IDetector::m_explicitROI, and OwningVector< T >::size().
Referenced by IDetector::sizeOfRegionOfInterest().
|
inherited |
The size of the "Region of Interest". Same as totalSize() if no region of interest has been explicitly set.
Definition at line 125 of file IDetector.cpp.
References IDetector::sizeOfExplicitRegionOfInterest(), and IDetector::totalSize().
Referenced by SimulationAreaIterator::createEnd().
|
inherited |
Returns total number of pixels. Any region of interest is not taken into account.
Definition at line 114 of file IDetector.cpp.
References IDetector::m_axes, and IDetector::rank().
Referenced by IDetector::getGlobalIndex(), RectangularDetector::indexOfSpecular(), indexOfSpecular(), and IDetector::sizeOfRegionOfInterest().
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 32 of file ICloneable.h.
|
privateinherited |
Definition at line 248 of file IDetector.h.
Referenced by IDetector::addDetAxis(), IDetector::axesClippedToRegionOfInterest(), IDetector::axis(), IDetector::axisBinIndex(), IDetector::clear(), IDetector::hasExplicitRegionOfInterest(), IDetector::rank(), IDetector::regionOfInterestBounds(), IDetector::sizeOfExplicitRegionOfInterest(), and IDetector::totalSize().
|
privateinherited |
Definition at line 251 of file IDetector.h.
Referenced by IDetector::addDetAxis(), IDetector::addMask(), and IDetector::detectorMask().
|
privateinherited |
Definition at line 250 of file IDetector.h.
Referenced by IDetector::IDetector(), IDetector::applyDetectorResolution(), IDetector::createDetectorIntensity(), IDetector::detectorResolution(), IDetector::nodeChildren(), and IDetector::setDetectorResolution().
|
protectedinherited |
an explicitly defined region of interest. Empty if no ROI has been defined. Vector index corresponds to axis index in m_axes
Definition at line 242 of file IDetector.h.
Referenced by IDetector::boundsOfExplicitRegionOfInterest(), IDetector::detectorIndexToRegionOfInterestIndex(), IDetector::hasExplicitRegionOfInterest(), IDetector::regionOfInterestIndexToDetectorIndex(), IDetector::resetRegionOfInterest(), IDetector::setRegionOfInterest(), and IDetector::sizeOfExplicitRegionOfInterest().
|
protectedinherited |
Definition at line 63 of file INode.h.
Referenced by IFootprintFactor::IFootprintFactor(), INode::checkNodeArgs(), IProfile1D::pythonConstructor(), IProfile2D::pythonConstructor(), IFormFactor::pythonConstructor(), Profile1DVoigt::pythonConstructor(), and Profile2DVoigt::pythonConstructor().
|
privateinherited |
Definition at line 249 of file IDetector.h.
Referenced by IDetector::analyzer(), IDetector::nodeChildren(), and IDetector::setAnalyzer().