BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
WavevectorInfo.h
Go to the documentation of this file.
1 // ************************************************************************** //
2 //
3 // BornAgain: simulate and fit scattering at grazing incidence
4 //
5 //! @file Sample/Material/WavevectorInfo.h
6 //! @brief Defines WavevectorInfo.
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_MATERIAL_WAVEVECTORINFO_H
16 #define BORNAGAIN_CORE_MATERIAL_WAVEVECTORINFO_H
17 
18 #include "Base/Vector/Vectors3D.h"
19 
20 class Transform3D;
21 
22 //! Holds all wavevector information relevant for calculating form factors.
23 //! @ingroup formfactors_internal
24 
26 {
27 public:
28  static WavevectorInfo GetZeroQ();
31  {
32  }
34  : m_ki(ki.complex()), m_kf(kf.complex()), m_vacuum_wavelength(wavelength)
35  {
36  }
37 
38  WavevectorInfo transformed(const Transform3D& transform) const;
39  cvector_t getKi() const { return m_ki; }
40  cvector_t getKf() const { return m_kf; }
41  cvector_t getQ() const { return m_ki - m_kf; }
42  double getWavelength() const { return m_vacuum_wavelength; }
43 
44 private:
49 };
50 
51 #endif // BORNAGAIN_CORE_MATERIAL_WAVEVECTORINFO_H
Defines basic vectors in R^3 and C^3.
Vector transformations in three dimensions.
Definition: Transform3D.h:28
Holds all wavevector information relevant for calculating form factors.
cvector_t getKf() const
cvector_t m_kf
double m_vacuum_wavelength
WavevectorInfo(kvector_t ki, kvector_t kf, double wavelength)
cvector_t getKi() const
cvector_t m_ki
WavevectorInfo transformed(const Transform3D &transform) const
cvector_t getQ() const
double getWavelength() const
WavevectorInfo(cvector_t ki, cvector_t kf, double wavelength)
static WavevectorInfo GetZeroQ()