Gromacs  2024.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
gmx::ComputeDebyeScattering Class Referenceabstract

#include <gromacs/trajectoryanalysis/modules/scattering-debye.h>

+ Inheritance diagram for gmx::ComputeDebyeScattering:


Base class for computing SANS and SAXS using Debye Method.

ComputeDebyeScattering uses Debye formula for scattering:

\[I(s) = \sum_{i} \sum_{j} f_i(s) * f_j(s) * \frac{sin(s*r_{ij})}{s*r_{ij}}\]


\[ r_{ij} = \left| \vec{r_i} - \vec{r_j} \right| \]

between atoms i and j and




are atomic structure factors for atoms i and j.

Public Member Functions

virtual double getScatteringLength (int i, double q)=0
 retrieves scattering length based on atom index
void computeDirectPairDistancesHistogram (t_pbc *pbc, Selection sel)
 Compute Pair distances for atoms using Direct Method.
void computeMonteCarloPairDistancesHistogram (t_pbc *pbc, Selection sel, float coverage, int seed)
 Compute Pair distances for atoms using MonteCarlo Method.
void computeIntensity ()
 computes the scattering intensity for a given scattering angle q
double computeIntensityZeroQ ()
 computes the scattering intensity for a given scattering zerro angle
double getIntensity (size_t qi)
double getFormFactor (int i, int j, double q)
 computes atomic form factors
void addQList (std::vector< double > qList)
 Add list of Q values.
void setBinWidth (double binWidth)
 Set binwidht for histogramm.
void getMaxDist (matrix box)
 Set max distance for histogram from box size.
void initPairDistHist ()
 Initialize pair distance histogram.
void clearHist ()
 Clear histogram.

Protected Attributes

bool sfDepenOnQ_ = false
 set if structure factor depend on Q value (e.g. for SAXS)

The documentation for this class was generated from the following files: