BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Abstract 2D detector interface. More...
Public Member Functions | |
IDetector2D * | clone () const override=0 |
void | setDetectorParameters (size_t n_x, double x_min, double x_max, size_t n_y, double y_min, double y_max) |
Sets detector parameters using angle ranges. | |
void | removeMasks () |
Removes all masks from the detector. | |
const DetectorMask * | detectorMask () const override |
Returns detector masks container. | |
void | addMask (const IShape2D &shape, bool mask_value=true) |
Adds mask of given shape to the stack of detector masks. More... | |
void | maskAll () |
Put the mask for all detector channels (i.e. exclude whole detector from the analysis) | |
const RegionOfInterest * | regionOfInterest () const override |
Returns region of interest if exists. | |
void | setRegionOfInterest (double xlow, double ylow, double xup, double yup) |
Sets rectangular region of interest with lower left and upper right corners defined. | |
void | resetRegionOfInterest () override |
Resets region of interest making whole detector plane available for the simulation. | |
std::vector< size_t > | active_indices () const |
Returns vector of unmasked detector indices. | |
virtual IPixel * | createPixel (size_t index) const =0 |
Creates an IPixel for the given OutputData object and index. | |
virtual size_t | indexOfSpecular (const Beam &beam) const =0 |
Returns index of pixel that contains the specular wavevector. More... | |
std::unique_ptr< DetectorContext > | createContext () const |
Public Member Functions inherited from IDetector | |
virtual void | init (const Beam &) |
Inits detector with the beam settings. | |
void | addAxis (const IAxis &axis) |
const IAxis & | getAxis (size_t index) const |
size_t | dimension () const |
Returns actual dimensionality of the detector (number of defined axes) | |
size_t | axisBinIndex (size_t index, size_t selected_axis) const |
Calculate axis index for given global index. | |
size_t | totalSize () const |
Returns total number of pixels. | |
void | setAnalyzerProperties (const kvector_t direction, double efficiency, double total_transmission) |
Sets the polarization analyzer characteristics of the detector. | |
void | setDetectorResolution (const IDetectorResolution &p_detector_resolution) |
Sets the detector resolution. | |
void | setResolutionFunction (const IResolutionFunction2D &resFunc) |
void | applyDetectorResolution (OutputData< double > *p_intensity_map) const |
Applies the detector resolution to the given intensity maps. | |
void | removeDetectorResolution () |
Removes detector resolution function. | |
const IDetectorResolution * | detectorResolution () const |
Returns a pointer to detector resolution object. | |
std::unique_ptr< OutputData< double > > | createDetectorMap () const |
Returns empty detector map in given axes units. | |
const DetectionProperties & | detectionProperties () const |
Returns detection properties. | |
OutputData< double > * | createDetectorIntensity (const std::vector< SimulationElement > &elements) const |
Returns new intensity map with detector resolution applied. More... | |
virtual Axes::Units | defaultAxesUnits () const |
Return default axes units. | |
size_t | numberOfSimulationElements () const |
Returns number of simulation elements. | |
std::vector< const INode * > | getChildren () const override |
Returns a vector of children (const). | |
void | iterate (std::function< void(const_iterator)> func, bool visit_masks=false) const |
Public Member Functions inherited from ICloneable | |
ICloneable (const ICloneable &)=delete | |
ICloneable (ICloneable &&)=default | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) | |
Public Member Functions inherited from INode | |
INode (const NodeMeta &meta, const std::vector< double > &PValues) | |
virtual void | accept (INodeVisitor *visitor) const =0 |
Calls the INodeVisitor's visit method. | |
virtual std::string | treeToString () const |
Returns multiline string representing tree structure below the node. | |
void | registerChild (INode *node) |
virtual void | setParent (const INode *newParent) |
const INode * | parent () const |
INode * | parent () |
int | copyNumber (const INode *node) const |
Returns copyNumber of child, which takes into account existence of children with same name. | |
std::string | displayName () const |
Returns display name, composed from the name of node and it's copy number. | |
ParameterPool * | createParameterTree () const |
Creates new parameter pool, with all local parameters and those of its children. | |
Public Member Functions inherited from IParameterized | |
IParameterized (const std::string &name="") | |
IParameterized (const IParameterized &other) | |
IParameterized & | operator= (const IParameterized &other)=delete |
ParameterPool * | parameterPool () const |
Returns pointer to the parameter pool. | |
std::string | parametersToString () const |
Returns multiline string representing available parameters. | |
RealParameter & | registerParameter (const std::string &name, double *parpointer) |
void | registerVector (const std::string &base_name, kvector_t *p_vec, const std::string &units="nm") |
void | setParameterValue (const std::string &name, double value) |
void | setVectorValue (const std::string &base_name, kvector_t value) |
RealParameter * | parameter (const std::string &name) const |
Returns parameter with given 'name'. | |
virtual void | onChange () |
Action to be taken in inherited class when a parameter has changed. | |
void | removeParameter (const std::string &name) |
void | removeVector (const std::string &base_name) |
void | setName (const std::string &name) |
const std::string & | getName () const |
Protected Member Functions | |
IDetector2D (const IDetector2D &other) | |
size_t | getGlobalIndex (size_t x, size_t y) const |
Calculate global index from two axis indices. | |
Protected Member Functions inherited from IDetector | |
IDetector (const IDetector &other) | |
void | clear () |
virtual std::string | axisName (size_t index) const =0 |
Returns the name for the axis with given index. | |
virtual std::unique_ptr< IAxis > | createAxis (size_t index, size_t n_bins, double min, double max) const |
Generates an axis with correct name and default binning for given index. | |
Additional Inherited Members | |
Public Types inherited from IDetector | |
using | const_iterator = const SimulationAreaIterator & |
Static Public Member Functions inherited from IParameterized | |
static std::string | XComponentName (const std::string &base_name) |
static std::string | YComponentName (const std::string &base_name) |
static std::string | ZComponentName (const std::string &base_name) |
Protected Attributes inherited from INode | |
const size_t | m_NP |
std::vector< double > | m_P |
Abstract 2D detector interface.
Definition at line 30 of file IDetector2D.h.
void IDetector2D::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.
Definition at line 79 of file IDetector2D.cpp.
|
pure virtual |
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.
Implemented in SphericalDetector, RectangularDetector, and IsGISAXSDetector.