15 #ifndef BORNAGAIN_CORE_INSTRUMENT_INSTRUMENT_H 
   16 #define BORNAGAIN_CORE_INSTRUMENT_INSTRUMENT_H 
   44     Beam& getBeam() { 
return m_beam; }
 
   45     const Beam& getBeam()
 const { 
return m_beam; }
 
   46     void setBeam(
const Beam& beam);
 
   51     void setBeamIntensity(
double intensity);
 
   56     double getBeamIntensity() 
const;
 
   67     const IAxis& getDetectorAxis(
size_t index) 
const;
 
   69     size_t getDetectorDimension() 
const;
 
   82                                double total_transmission);
 
   93     std::unique_ptr<IDetector> m_detector;
 
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.
 
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.
 
std::vector< const INode * > getChildren() const
Returns a vector of children (const).
 
void setBeamPolarization(const kvector_t bloch_vector)
Sets the beam's polarization according to the given Bloch vector.
 
Template class to store data of any type in multi-dimensional space.
 
Data stucture containing both input and output of a single detector cell.