BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
FormFactorHollowSphere.h
Go to the documentation of this file.
1
// ************************************************************************** //
2
//
3
// BornAgain: simulate and fit scattering at grazing incidence
4
//
5
//! @file Sample/HardParticle/FormFactorHollowSphere.h
6
//! @brief Defines class FormFactorHollowSphere.
7
//!
8
//! @homepage http://www.bornagainproject.org
9
//! @license GNU General Public License v3 or higher (see COPYING)
10
//! @copyright Forschungszentrum Jülich GmbH 2018
11
//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12
//
13
// ************************************************************************** //
14
15
#ifndef BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORHOLLOWSPHERE_H
16
#define BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORHOLLOWSPHERE_H
17
18
#include "
Sample/HardParticle/FormFactorFullSphere.h
"
19
20
//! Integrated full sphere form factor over a uniform distribution of radii.
21
//! @ingroup softParticle
22
23
class
FormFactorHollowSphere
:
public
IFormFactorBorn
24
{
25
public
:
26
FormFactorHollowSphere
(
const
std::vector<double> P);
27
FormFactorHollowSphere
(
double
mean,
double
full_width);
28
29
FormFactorHollowSphere
*
clone
() const override final
30
{
31
return
new
FormFactorHollowSphere
(
m_mean
,
m_full_width
);
32
}
33
void
accept
(
INodeVisitor
* visitor)
const
override
final
{ visitor->visit(
this
); }
34
35
double
radialExtension
() const override final {
return
m_mean
; }
36
37
complex_t
evaluate_for_q
(
cvector_t
q)
const
override
final
;
38
39
protected
:
40
void
onChange
() override final;
41
42
private:
43
bool
checkParameters
() const;
44
const
double
&
m_mean
;
//!< This is the mean radius
45
const
double
&
m_full_width
;
//!< This is the full width of the radius distribution
46
};
47
48
#endif
// BORNAGAIN_CORE_HARDPARTICLE_FORMFACTORHOLLOWSPHERE_H
complex_t
std::complex< double > complex_t
Definition:
Complex.h:20
FormFactorFullSphere.h
Defines class FormFactorFullSphere.
BasicVector3D< std::complex< double > >
FormFactorHollowSphere
Integrated full sphere form factor over a uniform distribution of radii.
Definition:
FormFactorHollowSphere.h:24
FormFactorHollowSphere::radialExtension
double radialExtension() const override final
Returns the (approximate in some cases) radial size of the particle of this form factor's shape.
Definition:
FormFactorHollowSphere.h:35
FormFactorHollowSphere::clone
FormFactorHollowSphere * clone() const override final
Returns a clone of this ISample object.
Definition:
FormFactorHollowSphere.h:29
FormFactorHollowSphere::checkParameters
bool checkParameters() const
Definition:
FormFactorHollowSphere.cpp:63
FormFactorHollowSphere::accept
void accept(INodeVisitor *visitor) const override final
Calls the INodeVisitor's visit method.
Definition:
FormFactorHollowSphere.h:33
FormFactorHollowSphere::FormFactorHollowSphere
FormFactorHollowSphere(const std::vector< double > P)
Definition:
FormFactorHollowSphere.cpp:21
FormFactorHollowSphere::evaluate_for_q
complex_t evaluate_for_q(cvector_t q) const override final
Returns scattering amplitude for complex scattering wavevector q=k_i-k_f.
Definition:
FormFactorHollowSphere.cpp:41
FormFactorHollowSphere::m_full_width
const double & m_full_width
This is the full width of the radius distribution.
Definition:
FormFactorHollowSphere.h:45
FormFactorHollowSphere::m_mean
const double & m_mean
This is the mean radius.
Definition:
FormFactorHollowSphere.h:44
FormFactorHollowSphere::onChange
void onChange() override final
Action to be taken in inherited class when a parameter has changed.
Definition:
FormFactorHollowSphere.cpp:58
IFormFactorBorn
Pure virtual base class for Born form factors.
Definition:
IFormFactorBorn.h:32
INodeVisitor
Visitor interface to visit ISample objects.
Definition:
INodeVisitor.h:149
Sample
HardParticle
FormFactorHollowSphere.h
Generated by
1.9.1