Gromacs  2025.0-dev-20241014-f673b97
 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:

Description

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}}\]

where

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

between atoms i and j and

\[f_i(s)\]

,

\[f_j(s)\]

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: