15 #ifndef BORNAGAIN_CORE_COMPUTATION_PROCESSEDSAMPLE_H 
   16 #define BORNAGAIN_CORE_COMPUTATION_PROCESSEDSAMPLE_H 
   43     size_t numberOfSlices() 
const;
 
   44     const std::vector<Slice>& slices() 
const;
 
   45     const std::vector<Slice>& averageSlices() 
const;
 
   46     const std::vector<ProcessedLayout>& layouts() 
const;
 
   48     double crossCorrelationLength() 
const;
 
   51     double sliceTopZ(
size_t i) 
const;
 
   52     double sliceBottomZ(
size_t i) 
const;
 
   53     bool containsMagneticMaterial() 
const;
 
   54     bool hasRoughness() 
const;
 
   63     void addSlice(
double thickness, 
const Material& material,
 
   65     void addNSlices(
size_t n, 
double thickness, 
const Material& material,
 
   68     void mergeRegionMap(
const std::map<
size_t, std::vector<HomogeneousRegion>>& region_map);
 
   70     std::unique_ptr<IFresnelMap> mP_fresnel_map;
 
   71     std::vector<Slice> m_slices;
 
   74     std::vector<ProcessedLayout> m_layouts;
 
   75     double m_crossCorrLength;
 
   77     std::map<size_t, std::vector<HomogeneousRegion>> m_region_map;
 
Holds the necessary information to calculate the radiation wavefunction in every layer for different ...
 
A roughness of interface between two layers.
 
A wrapper for underlying material implementation.
 
Our sample model: a stack of layers one below the other.
 
Data structure that contains preprocessed data for a single layout.
 
Data structure that contains all the necessary data for scattering calculations.
 
double crossCorrSpectralFun(const kvector_t kvec, size_t j, size_t k) const
Fourier transform of the correlation function of roughnesses between the interfaces.
 
Collect the different options for simulation.
 
Struct that contains information on a single homogeneous region of a particle inside a single layer.