BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
A polyhedron, implementation class for use in IFormFactorPolyhedron. More...
Public Member Functions | |
Polyhedron ()=delete | |
Polyhedron (const PolyhedralTopology &topology, double z_bottom, const std::vector< kvector_t > &vertices) | |
Polyhedron (const Polyhedron &)=delete | |
~Polyhedron () | |
void | assert_platonic () const |
complex_t | evaluate_centered (const cvector_t &q) const |
Returns the form factor F(q) of this polyhedron, with origin at z=0. More... | |
complex_t | evaluate_for_q (const cvector_t &q) const |
needed for topZ, bottomZ computation More... | |
double | radius () const |
const std::vector< kvector_t > & | vertices () |
double | volume () const |
Private Attributes | |
std::vector< PolyhedralFace > | m_faces |
double | m_radius |
bool | m_sym_Ci |
if true, then faces obtainable by inversion are not provided More... | |
std::vector< kvector_t > | m_vertices |
double | m_volume |
double | m_z_bottom |
A polyhedron, implementation class for use in IFormFactorPolyhedron.
Definition at line 30 of file Polyhedron.h.
|
delete |
|
delete |
Polyhedron::Polyhedron | ( | const PolyhedralTopology & | topology, |
double | z_bottom, | ||
const std::vector< kvector_t > & | vertices | ||
) |
Definition at line 33 of file Polyhedron.cpp.
References PolyhedralFace::diameter(), PolyhedralTopology::faces, m_faces, m_radius, m_sym_Ci, m_vertices, m_volume, m_z_bottom, PolyhedralTopology::symmetry_Ci, PolygonalTopology::symmetry_S2, PolygonalTopology::vertexIndices, and vertices().
|
default |
void Polyhedron::assert_platonic | ( | ) | const |
Returns the form factor F(q) of this polyhedron, with origin at z=0.
Definition at line 142 of file Polyhedron.cpp.
References I, m_faces, m_radius, m_sym_Ci, m_volume, BasicVector3D< T >::mag(), BasicVector3D< T >::mag2(), and mul_I().
Referenced by evaluate_for_q().
needed for topZ, bottomZ computation
Returns the form factor F(q) of this polyhedron, respecting the offset z_bottom.
Definition at line 124 of file Polyhedron.cpp.
References evaluate_centered(), exp_I(), m_z_bottom, and BasicVector3D< T >::z().
double Polyhedron::radius | ( | ) | const |
Definition at line 112 of file Polyhedron.cpp.
References m_radius.
const std::vector< kvector_t > & Polyhedron::vertices | ( | ) |
double Polyhedron::volume | ( | ) | const |
Definition at line 108 of file Polyhedron.cpp.
References m_volume.
|
private |
Definition at line 48 of file Polyhedron.h.
Referenced by Polyhedron(), assert_platonic(), and evaluate_centered().
|
private |
Definition at line 49 of file Polyhedron.h.
Referenced by Polyhedron(), evaluate_centered(), and radius().
|
private |
if true, then faces obtainable by inversion are not provided
Definition at line 46 of file Polyhedron.h.
Referenced by Polyhedron(), and evaluate_centered().
|
private |
Definition at line 51 of file Polyhedron.h.
Referenced by Polyhedron(), and vertices().
|
private |
Definition at line 50 of file Polyhedron.h.
Referenced by Polyhedron(), evaluate_centered(), and volume().
|
private |
Definition at line 45 of file Polyhedron.h.
Referenced by Polyhedron(), and evaluate_for_q().