BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
IDetector Class Referenceabstract

Abstract detector interface. More...

+ Inheritance diagram for IDetector:

Public Types

using const_iterator = const SimulationAreaIterator &
 

Public Member Functions

IDetectorclone () const override=0
 
virtual void init (const Beam &)
 Inits detector with the beam settings.
 
void addAxis (const IAxis &axis)
 
const IAxisgetAxis (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.
 
virtual const DetectorMaskdetectorMask () const =0
 Returns detector masks container.
 
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 IDetectorResolutiondetectorResolution () const
 Returns a pointer to detector resolution object.
 
std::unique_ptr< OutputData< double > > createDetectorMap () const
 Returns empty detector map in given axes units.
 
virtual const RegionOfInterestregionOfInterest () const =0
 Returns region of interest if exists.
 
virtual void resetRegionOfInterest ()=0
 Resets region of interest making whole detector plane available for the simulation.
 
const DetectionPropertiesdetectionProperties () 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 INodeparent () const
 
INodeparent ()
 
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.
 
ParameterPoolcreateParameterTree () 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)
 
IParameterizedoperator= (const IParameterized &other)=delete
 
ParameterPoolparameterPool () const
 Returns pointer to the parameter pool.
 
std::string parametersToString () const
 Returns multiline string representing available parameters.
 
RealParameterregisterParameter (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)
 
RealParameterparameter (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

 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< IAxiscreateAxis (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

- 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
 

Detailed Description

Abstract detector interface.

Definition at line 35 of file IDetector.h.

Member Function Documentation

◆ createDetectorIntensity()

OutputData< double > * IDetector::createDetectorIntensity ( const std::vector< SimulationElement > &  elements) const

Returns new intensity map with detector resolution applied.

Map will be cropped to ROI if ROI is present.

Definition at line 148 of file IDetector.cpp.


The documentation for this class was generated from the following files: