16 #error no need to expose this header to Swig
20 #ifndef BORNAGAIN_DEVICE_INSTRUMENT_INSTRUMENT_H
21 #define BORNAGAIN_DEVICE_INSTRUMENT_INSTRUMENT_H
An incident neutron or x-ray beam.
Abstract 2D detector interface.
Abstract detector interface.
Visitor interface to visit ISampleNode objects.
Base class for tree-like structures containing parameterized objects.
Assembles beam, detector and their relative positions with respect to the sample.
IDetector * getDetector()
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 initDetector()
init detector with beam settings
std::vector< const INode * > getChildren() const
Returns a vector of children.
void setBeam(const Beam &beam)
const Beam & beam() const
Instrument & operator=(const Instrument &other)
std::unique_ptr< IDetector > m_detector