BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
reLayout Class Reference

Description

Data structure that contains preprocessed data for a single layout.

If particles in the layout crossed the limits of the layer slices, these particles will be sliced themselves.

Definition at line 36 of file ReLayout.h.

Collaboration diagram for reLayout:
[legend]

Public Member Functions

 reLayout (bool polarized, double surface_density, std::vector< std::unique_ptr< const CoherentFFSum >> &&formfactors, const IInterference *iff, std::map< size_t, Admixtures > &&slice2admixtures)
 
 reLayout (reLayout &&other)
 
 ~reLayout ()
 
const std::vector< std::unique_ptr< const CoherentFFSum > > & formfactorList () const
 
const IInterferenceinterferenceFunction () const
 
const std::map< size_t, Admixtures > & regionMap () const
 
double surfaceDensity () const
 

Private Attributes

std::vector< std::unique_ptr< const CoherentFFSum > > m_formfactors
 
std::unique_ptr< const IInterferencem_iff
 
std::map< size_t, Admixturesm_slice2admixtures
 
const double m_surface_density
 

Constructor & Destructor Documentation

◆ reLayout() [1/2]

reLayout::reLayout ( bool  polarized,
double  surface_density,
std::vector< std::unique_ptr< const CoherentFFSum >> &&  formfactors,
const IInterference iff,
std::map< size_t, Admixtures > &&  slice2admixtures 
)

Definition at line 28 of file ReLayout.cpp.

31  : m_surface_density(surface_density)
32  , m_formfactors(std::move(formfactors))
33  , m_iff(iff)
34  , m_slice2admixtures(std::move(slice2admixtures))
35 {
36 }
std::unique_ptr< const IInterference > m_iff
Definition: ReLayout.h:56
std::map< size_t, Admixtures > m_slice2admixtures
Definition: ReLayout.h:57
const double m_surface_density
Definition: ReLayout.h:54
std::vector< std::unique_ptr< const CoherentFFSum > > m_formfactors
Definition: ReLayout.h:55

◆ reLayout() [2/2]

reLayout::reLayout ( reLayout &&  other)
default

◆ ~reLayout()

reLayout::~reLayout ( )
default

Member Function Documentation

◆ formfactorList()

const std::vector<std::unique_ptr<const CoherentFFSum> >& reLayout::formfactorList ( ) const
inline

Definition at line 46 of file ReLayout.h.

47  {
48  return m_formfactors;
49  }

References m_formfactors.

◆ interferenceFunction()

const IInterference* reLayout::interferenceFunction ( ) const
inline

Definition at line 50 of file ReLayout.h.

50 { return m_iff.get(); }

References m_iff.

◆ regionMap()

const std::map<size_t, Admixtures>& reLayout::regionMap ( ) const
inline

Definition at line 51 of file ReLayout.h.

51 { return m_slice2admixtures; }

References m_slice2admixtures.

◆ surfaceDensity()

double reLayout::surfaceDensity ( ) const
inline

Definition at line 45 of file ReLayout.h.

45 { return m_surface_density; }

References m_surface_density.

Referenced by ParticleLayoutContribution::compute().

Member Data Documentation

◆ m_formfactors

std::vector<std::unique_ptr<const CoherentFFSum> > reLayout::m_formfactors
private

Definition at line 55 of file ReLayout.h.

Referenced by formfactorList().

◆ m_iff

std::unique_ptr<const IInterference> reLayout::m_iff
private

Definition at line 56 of file ReLayout.h.

Referenced by interferenceFunction().

◆ m_slice2admixtures

std::map<size_t, Admixtures> reLayout::m_slice2admixtures
private

Definition at line 57 of file ReLayout.h.

Referenced by regionMap().

◆ m_surface_density

const double reLayout::m_surface_density
private

Definition at line 54 of file ReLayout.h.

Referenced by surfaceDensity().


The documentation for this class was generated from the following files: