BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
A spherical detector with axes and resolution function. More...
Public Member Functions | |
SphericalDetector (size_t n_phi, double phi_min, double phi_max, size_t n_alpha, double alpha_min, double alpha_max) | |
Spherical detector constructor using angle ranges. More... | |
SphericalDetector (const SphericalDetector &other) | |
SphericalDetector * | clone () const override |
void | accept (INodeVisitor *visitor) const override |
Calls the INodeVisitor's visit method. | |
Axes::Units | defaultAxesUnits () const override |
return default axes units | |
Public Member Functions inherited from IDetector2D | |
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. | |
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... | |
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 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 | |
IPixel * | createPixel (size_t index) const override |
Creates an IPixel for the given OutputData object and index. | |
std::string | axisName (size_t index) const override |
Returns the name for the axis with given index. | |
size_t | indexOfSpecular (const Beam &beam) const override |
Returns index of pixel that contains the specular wavevector. More... | |
Protected Member Functions inherited from IDetector2D | |
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::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 |
A spherical detector with axes and resolution function.
Definition at line 26 of file SphericalDetector.h.
SphericalDetector::SphericalDetector | ( | size_t | n_phi, |
double | phi_min, | ||
double | phi_max, | ||
size_t | n_alpha, | ||
double | alpha_min, | ||
double | alpha_max | ||
) |
Spherical detector constructor using angle ranges.
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 28 of file SphericalDetector.cpp.
|
overrideprotectedvirtual |
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 IDetector2D.
Definition at line 75 of file SphericalDetector.cpp.