15 #ifndef BORNAGAIN_CORE_INSTRUMENT_ISPECULARSCAN_H 
   16 #define BORNAGAIN_CORE_INSTRUMENT_ISPECULARSCAN_H 
   47     virtual std::vector<double> 
footprint(
size_t i, 
size_t n_elements) 
const = 0;
 
   53     virtual std::vector<double>
 
   57     virtual std::string 
print() 
const = 0;
 
   63     return os << scan.
print();
 
Defines and implements the standard mix-in ICloneable.
 
std::ostream & operator<<(std::ostream &os, const BasicVector3D< T > &a)
Output to stream.
 
Interface for one-dimensional axes.
 
Interface for polymorphic classes that should not be copied, except by explicit cloning.
 
Pure virtual base class for all types of specular scans.
 
virtual std::vector< SpecularSimulationElement > generateSimulationElements() const =0
Generates simulation elements for specular simulations.
 
virtual std::vector< double > footprint(size_t i, size_t n_elements) const =0
Returns footprint correction factor for a range of simulation elements of size n_elements and startin...
 
virtual const IAxis * coordinateAxis() const =0
Returns coordinate axis assigned to the data holder.
 
virtual const IFootprintFactor * footprintFactor() const =0
Returns IFootprintFactor object pointer.
 
virtual std::string print() const =0
Print scan definition in python format.
 
virtual std::vector< double > createIntensities(const std::vector< SpecularSimulationElement > &sim_elements) const =0
Returns intensity vector corresponding to convolution of given simulation elements.
 
virtual size_t numberOfSimulationElements() const =0
Returns the number of simulation elements.
 
Data stucture containing both input and output of a single image pixel for specular simulation.