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

A dot, with scattering power as a sphere of radius rscat, but with F(q)=const. More...

+ Inheritance diagram for FormFactorDot:

Public Member Functions

 FormFactorDot (const std::vector< double > P)
 
 FormFactorDot (double radius)
 
FormFactorDotclone () const override final
 Returns a clone of this ISample object.
 
void accept (INodeVisitor *visitor) const override final
 Calls the INodeVisitor's visit method.
 
double getRadius () const
 
double radialExtension () const override final
 Returns the (approximate in some cases) radial size of the particle of this form factor's shape. More...
 
double bottomZ (const IRotation &) const override final
 Returns the z-coordinate of the lowest point in this shape after a given rotation.
 
double topZ (const IRotation &) const override final
 Returns the z-coordinate of the lowest point in this shape after a given rotation.
 
complex_t evaluate_for_q (cvector_t q) const override final
 Returns scattering amplitude for complex scattering wavevector q=k_i-k_f. More...
 
- Public Member Functions inherited from IFormFactorBorn
 IFormFactorBorn (const NodeMeta &meta, const std::vector< double > &PValues)
 
void setAmbientMaterial (const Material &) override
 Passes the material in which this particle is embedded.
 
complex_t evaluate (const WavevectorInfo &wavevectors) const override
 Returns scattering amplitude for complex wavevectors ki, kf.
 
Eigen::Matrix2cd evaluatePol (const WavevectorInfo &wavevectors) const override
 Returns scattering amplitude for matrix interactions.
 
- Public Member Functions inherited from IFormFactor
 IFormFactor (const NodeMeta &meta, const std::vector< double > &PValues)
 
IFormFactorcreateSlicedFormFactor (ZLimits limits, const IRotation &rot, kvector_t translation) const
 Creates a (possibly sliced) form factor with the given rotation and translation.
 
virtual double volume () const
 Returns the total volume of the particle of this form factor's shape.
 
virtual void setSpecularInfo (std::unique_ptr< const ILayerRTCoefficients >, std::unique_ptr< const ILayerRTCoefficients >)
 Sets reflection/transmission info.
 
- Public Member Functions inherited from ISample
 ISample (const NodeMeta &meta, const std::vector< double > &PValues)
 
virtual const Materialmaterial () 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 std::vector< const INode * > getChildren () const
 Returns a vector of children (const).
 
virtual void setParent (const INode *newParent)
 
const INodeparent () const
 
INodeparent ()
 
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.
 
ParameterPoolcreateParameterTree () 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)
 
IParameterizedoperator= (const IParameterized &other)=delete
 
ParameterPoolparameterPool () const
 Returns pointer to the parameter pool.
 
std::string parametersToString () const
 Returns multiline string representing available parameters.
 
RealParameterregisterParameter (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)
 
RealParameterparameter (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
 

Protected Member Functions

bool canSliceAnalytically (const IRotation &) const override final
 Checks if slicing has a fast analytical solution.
 
- Protected Member Functions inherited from IFormFactorBorn
bool canSliceAnalytically (const IRotation &rot) const override
 Default implementation only allows rotations along z-axis.
 
virtual Eigen::Matrix2cd evaluate_for_q_pol (cvector_t q) const
 Returns scattering amplitude for complex scattering wavevector q=k_i-k_f in case of matrix interactions. More...
 
SlicingEffects computeSlicingEffects (ZLimits limits, const kvector_t &position, double height) const
 Helper method for slicing.
 
- Protected Member Functions inherited from IFormFactor
virtual IFormFactorsliceFormFactor (ZLimits limits, const IRotation &rot, kvector_t translation) const
 Actually slices the form factor or throws an exception.
 

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)
 
- Static Protected Member Functions inherited from IFormFactorBorn
static double BottomZ (const std::vector< kvector_t > &vertices, const IRotation &rotation)
 Calculates the z-coordinate of the lowest vertex after rotation.
 
static double TopZ (const std::vector< kvector_t > &vertices, const IRotation &rotation)
 Calculates the z-coordinate of the highest vertex after rotation.
 
- Protected Attributes inherited from IFormFactorBorn
std::unique_ptr< IShapemP_shape
 IShape object, used to retrieve vertices (which may be approximate in the case of round shapes). More...
 
- Protected Attributes inherited from INode
const size_t m_NP
 
std::vector< double > m_P
 

Detailed Description

A dot, with scattering power as a sphere of radius rscat, but with F(q)=const.

Definition at line 23 of file FormFactorDot.h.

Member Function Documentation

◆ radialExtension()

double FormFactorDot::radialExtension ( ) const
inlinefinaloverridevirtual

Returns the (approximate in some cases) radial size of the particle of this form factor's shape.

This is used for SSCA calculations

Implements IFormFactor.

Definition at line 34 of file FormFactorDot.h.

◆ evaluate_for_q()

complex_t FormFactorDot::evaluate_for_q ( cvector_t  q) const
finaloverridevirtual

Returns scattering amplitude for complex scattering wavevector q=k_i-k_f.

This method is public only for convenience of plotting form factors in Python.

Implements IFormFactorBorn.

Definition at line 30 of file FormFactorDot.cpp.


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