15 #ifndef BORNAGAIN_SIM_SIMULATION_SCATTERINGSIMULATION_H
16 #define BORNAGAIN_SIM_SIMULATION_SCATTERINGSIMULATION_H
33 std::string
className() const final {
return "ScatteringSimulation"; }
Defines interface ISimulation2D.
An incident neutron or x-ray beam.
Interface to provide axis translations to different units for simulation output.
Abstract detector interface.
Abstract base class of simulations that generate 2D patterns.
const MultiLayer * sample() const
Our sample model: a stack of layers one below the other.
std::string className() const final
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
ICoordSystem * createCoordSystem() const override
ScatteringSimulation(const Beam &beam, const MultiLayer &sample, const IDetector &detector)
void initElementVector() override
Initializes the vector of ISimulation elements.
size_t intensityMapSize() const override
Returns the total number of the intensity values in the simulation result.
void prepareSimulation() override
Put into a clean state for running a simulation.
~ScatteringSimulation() override=default
SimulationResult pack_result() override
Sets m_result.
Wrapper around Datafield that also provides unit conversions.