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

Description

Decorator class that adds particles to ISampleNode objects.

Inheritance diagram for ParticleLayout:

Public Member Functions

 ParticleLayout ()
 
 ParticleLayout (const IParticle &particle, double abundance=-1.0)
 
 ~ParticleLayout () override
 
void addParticle (const IParticle &particle, double abundance=-1.0)
 
std::string className () const final
 
ParticleLayoutclone () const override
 
const IInterferenceinterferenceFunction () const
 
std::vector< const INode * > nodeChildren () const override
 
std::vector< ParaMeta > parDefs () const final
 
std::vector< const IParticle * > particles () const
 
void setInterference (const IInterference &interparticle)
 
void setTotalParticleSurfaceDensity (double particle_density)
 
void setWeight (double weight)
 Sets the relative weight of this layout. More...
 
double totalAbundance () const
 
double totalParticleSurfaceDensity () const
 
double weight () const
 Returns the relative weight of this layout. More...
 
double weightedParticleSurfaceDensity () const
 

Constructor & Destructor Documentation

◆ ParticleLayout() [1/2]

ParticleLayout::ParticleLayout ( )

◆ ParticleLayout() [2/2]

ParticleLayout::ParticleLayout ( const IParticle &  particle,
double  abundance = -1.0 
)

◆ ~ParticleLayout()

ParticleLayout::~ParticleLayout ( )
override

Member Function Documentation

◆ addParticle()

void ParticleLayout::addParticle ( const IParticle &  particle,
double  abundance = -1.0 
)

◆ className()

std::string ParticleLayout::className ( ) const
final

◆ clone()

ParticleLayout* ParticleLayout::clone ( ) const
override

◆ interferenceFunction()

const IInterference* ParticleLayout::interferenceFunction ( ) const

◆ nodeChildren()

std::vector<const INode*> ParticleLayout::nodeChildren ( ) const
override

◆ parDefs()

std::vector<ParaMeta> ParticleLayout::parDefs ( ) const
final

◆ particles()

std::vector<const IParticle*> ParticleLayout::particles ( ) const

◆ setInterference()

void ParticleLayout::setInterference ( const IInterference interparticle)

◆ setTotalParticleSurfaceDensity()

void ParticleLayout::setTotalParticleSurfaceDensity ( double  particle_density)

◆ setWeight()

void ParticleLayout::setWeight ( double  weight)

Sets the relative weight of this layout.

◆ totalAbundance()

double ParticleLayout::totalAbundance ( ) const

◆ totalParticleSurfaceDensity()

double ParticleLayout::totalParticleSurfaceDensity ( ) const

◆ weight()

double ParticleLayout::weight ( ) const

Returns the relative weight of this layout.

◆ weightedParticleSurfaceDensity()

double ParticleLayout::weightedParticleSurfaceDensity ( ) const