15 #ifndef BORNAGAIN_CORE_INSTRUMENT_INSTRUMENT_H
16 #define BORNAGAIN_CORE_INSTRUMENT_INSTRUMENT_H
82 double total_transmission);
Beam defined by wavelength, direction and intensity.
Collection of detector masks.
Two dimensional histogram.
Interface for one-dimensional axes.
Abstract 2D detector interface.
Abstract detector interface.
Visitor interface to visit ISample objects.
Base class for tree-like structures containing parameterized objects.
Interface providing two-dimensional resolution function.
Assembles beam, detector and their relative positions with respect to the sample.
void applyDetectorResolution(OutputData< double > *p_intensity_map) const
apply the detector resolution to the given intensity map
void setAnalyzerProperties(const kvector_t direction, double efficiency, double total_transmission)
Sets the polarization analyzer characteristics of the detector.
const Beam & getBeam() const
void setBeamIntensity(double intensity)
const IAxis & getDetectorAxis(size_t index) const
double getBeamIntensity() const
const DetectorMask * getDetectorMask() const
void setBeamParameters(double wavelength, double alpha_i, double phi_i)
Sets the beam wavelength and incoming angles.
void setDetector(const IDetector &detector)
Sets the detector (axes can be overwritten later)
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
void setDetectorResolutionFunction(const IResolutionFunction2D &p_resolution_function)
Sets detector resolution function.
void initDetector()
init detector with beam settings
void removeDetectorResolution()
Removes detector resolution function.
const IDetector * getDetector() const
std::vector< const INode * > getChildren() const
Returns a vector of children (const).
void setBeam(const Beam &beam)
size_t getDetectorDimension() const
void setBeamPolarization(const kvector_t bloch_vector)
Sets the beam's polarization according to the given Bloch vector.
IDetector2D & detector2D()
Instrument & operator=(const Instrument &other)
std::unique_ptr< IDetector > m_detector
Template class to store data of any type in multi-dimensional space.
Data stucture containing both input and output of a single detector cell.
const double wavelength(0.154)