File scatter_factors.hpp

This file contains a class which manages the generation of the proper scattering factors which may depend on atom and q vector lengths.

Author

Benjamin Lindner ben@benlabs.net

Version

See VERSION in CMakeLists.txt

Copyright

GNU General Public License

class ReciprocalBox
#include <scatter_factors.hpp>

Public Functions

ReciprocalBox()
void set_all()
ImagNum get_sld()
double get_xlength()
double get_ylength()
double get_zlength()
CartesianCoor3D get_midpoint()

Private Members

ImagNum _sld
double _xlength
double _ylength
double _zlength
CartesianCoor3D _midpoint
class ScatterFactors
#include <scatter_factors.hpp>

Efficient management class for scattering factors.

Public Functions

ScatterFactors()
void set_selection(IAtomselection *selection)
void set_sample(Sample &sample)
IAtomselection *get_selection()
double get(size_t atomselectionindex) const
const std::vector<double> &get_all() const
ReciprocalBox get_recibox()
void update(CartesianCoor3D q)
void update_kappas()
void update_reciprocal_box()
double compute_background(CartesianCoor3D q, IAtomselection *selection = nullptr)
void set_background(bool status)

Private Members

Sample *p_sample
IAtomselection *p_selection
bool m_background
std::vector<double> factors
std::vector<double> m_kappas
ReciprocalBox _ReciBox