BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
A prism with a polygonal base, for form factor computation. More...
Public Member Functions | |
IFormFactorPrism (const NodeMeta &meta, const std::vector< double > &PValues) | |
double | bottomZ (const IRotation &rotation) const override final |
Returns the z-coordinate of the lowest point in this shape after a given rotation. | |
double | topZ (const IRotation &rotation) 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 |
Returns the form factor F(q) of this polyhedron, respecting the offset height/2. | |
double | volume () const override |
Returns the volume of this prism. | |
double | radialExtension () const override |
Returns the (approximate in some cases) radial size of the particle of this form factor's shape. More... | |
double | getHeight () const |
![]() | |
IFormFactorBorn (const NodeMeta &meta, const std::vector< double > &PValues) | |
IFormFactorBorn * | clone () const override=0 |
Returns a clone of this ISample object. | |
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. | |
![]() | |
IFormFactor (const NodeMeta &meta, const std::vector< double > &PValues) | |
IFormFactor * | createSlicedFormFactor (ZLimits limits, const IRotation &rot, kvector_t translation) const |
Creates a (possibly sliced) form factor with the given rotation and translation. | |
virtual void | setSpecularInfo (std::unique_ptr< const ILayerRTCoefficients >, std::unique_ptr< const ILayerRTCoefficients >) |
Sets reflection/transmission info. | |
![]() | |
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. | |
![]() | |
ICloneable (const ICloneable &)=delete | |
ICloneable (ICloneable &&)=default | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) | |
![]() | |
INode (const NodeMeta &meta, const std::vector< double > &PValues) | |
virtual void | accept (INodeVisitor *visitor) const =0 |
Calls the INodeVisitor's visit method. | |
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 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. | |
![]() | |
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 |
Protected Member Functions | |
void | setPrism (bool symmetry_Ci, const std::vector< kvector_t > &vertices) |
virtual double | height () const =0 |
![]() | |
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. | |
![]() | |
virtual IFormFactor * | sliceFormFactor (ZLimits limits, const IRotation &rot, kvector_t translation) const |
Actually slices the form factor or throws an exception. | |
Additional Inherited Members | |
![]() | |
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 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. | |
![]() | |
std::unique_ptr< IShape > | mP_shape |
IShape object, used to retrieve vertices (which may be approximate in the case of round shapes). More... | |
![]() | |
const size_t | m_NP |
std::vector< double > | m_P |
A prism with a polygonal base, for form factor computation.
Definition at line 25 of file IFormFactorPrism.h.
|
overridevirtual |
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 50 of file IFormFactorPrism.cpp.