BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
ParticleDistribution Class Reference

A particle type that is a parametric distribution of IParticle's. More...

+ Inheritance diagram for ParticleDistribution:

Public Member Functions

 ParticleDistribution (const IParticle &prototype, const ParameterDistribution &par_distr)
 
ParticleDistribution * clone () const override final
 Returns a clone of this ISample object.
 
void accept (INodeVisitor *visitor) const override final
 Calls the INodeVisitor's visit method.
 
void translate (kvector_t translation) override final
 Translates the particle with the given vector.
 
void rotate (const IRotation &rotation) override final
 Applies the given rotation to the particle.
 
SafePointerVector< IParticle > generateParticles () const
 Returns list of new particles generated according to a distribution. More...
 
const IParticle & prototype () const
 Returns the prototype particle, used for generating multiple ones.
 
ParameterDistribution parameterDistribution () const
 Returns the distributed parameter data.
 
std::vector< const INode * > getChildren () const override final
 Returns a vector of children (const).
 
std::string mainUnits () const
 
- Public Member Functions inherited from IAbstractParticle
 IAbstractParticle (const NodeMeta &meta, const std::vector< double > &PValues)
 
double abundance () const
 
void setAbundance (double abundance)
 Sets particle abundance. More...
 
- Public Member Functions inherited from ISample
 ISample (const NodeMeta &meta, const std::vector< double > &PValues)
 
virtual const Material * material () const
 Returns nullptr, unless overwritten to return a specific material.
 
std::vector< const Material * > containedMaterials () const
 Returns set of unique materials contained in this ISample.
 
- Public Member Functions inherited from ICloneable
 ICloneable (const ICloneable &)=delete
 
 ICloneable (ICloneable &&)=default
 
virtual void transferToCPP ()
 Used for Python overriding of clone (see swig/tweaks.py)
 
- Public Member Functions inherited from INode
 INode (const NodeMeta &meta, const std::vector< double > &PValues)
 
virtual std::string treeToString () const
 Returns multiline string representing tree structure below the node.
 
void registerChild (INode *node)
 
virtual void setParent (const INode *newParent)
 
const INode * parent () const
 
INode * parent ()
 
int copyNumber (const INode *node) const
 Returns copyNumber of child, which takes into account existence of children with same name.
 
std::string displayName () const
 Returns display name, composed from the name of node and it's copy number.
 
ParameterPool * createParameterTree () const
 Creates new parameter pool, with all local parameters and those of its children.
 
- Public Member Functions inherited from IParameterized
 IParameterized (const std::string &name="")
 
 IParameterized (const IParameterized &other)
 
IParameterized & operator= (const IParameterized &other)=delete
 
ParameterPool * parameterPool () const
 Returns pointer to the parameter pool.
 
std::string parametersToString () const
 Returns multiline string representing available parameters.
 
RealParameter & registerParameter (const std::string &name, double *parpointer)
 
void registerVector (const std::string &base_name, kvector_t *p_vec, const std::string &units="nm")
 
void setParameterValue (const std::string &name, double value)
 
void setVectorValue (const std::string &base_name, kvector_t value)
 
RealParameter * parameter (const std::string &name) const
 Returns parameter with given 'name'.
 
virtual void onChange ()
 Action to be taken in inherited class when a parameter has changed.
 
void removeParameter (const std::string &name)
 
void removeVector (const std::string &base_name)
 
void setName (const std::string &name)
 
const std::string & getName () const
 

Additional Inherited Members

- Static Public Member Functions inherited from IParameterized
static std::string XComponentName (const std::string &base_name)
 
static std::string YComponentName (const std::string &base_name)
 
static std::string ZComponentName (const std::string &base_name)
 
- Protected Attributes inherited from IAbstractParticle
double m_abundance {1.0}
 
- Protected Attributes inherited from INode
const size_t m_NP
 
std::vector< double > m_P
 

Detailed Description

A particle type that is a parametric distribution of IParticle's.

Definition at line 27 of file ParticleDistribution.h.

Member Function Documentation

◆ generateParticles()

SafePointerVector< IParticle > ParticleDistribution::generateParticles ( ) const

Returns list of new particles generated according to a distribution.

Returns particle clones with parameter values drawn from distribution.

Definition at line 56 of file ParticleDistribution.cpp.


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