IMP logo
IMP Reference Guide  develop.36b5e40f34,2024/10/14
The Integrative Modeling Platform
IMP::saxs::FormFactorTable Class Reference

#include <IMP/saxs/FormFactorTable.h>

Detailed Description

class that deals with form factor computation two form factors are supported: (i) zero form factors for faster approximated calculations (ii) full form factors for slower accurate calculations

Each form factor can be divided into two parts: vacuum and dummy. dummy is an approximated excluded volume (solvent) form factor. The approximation is done using Fraser, MacRae and Suzuki (1978) model.

Definition at line 50 of file FormFactorTable.h.

Public Member Functions

 FormFactorTable ()
 default constructor More...
 
 FormFactorTable (const std::string &table_name, double min_q, double max_q, double delta_q)
 constructor with form factor table file (required for full form factors) More...
 
double get_dummy_form_factor (Particle *p, FormFactorType ff_type=HEAVY_ATOMS) const
 f(0) for solvent More...
 
const Vector< double > & get_dummy_form_factors (Particle *p, FormFactorType ff_type=HEAVY_ATOMS) const
 for reciprocal space profile calculation More...
 
double get_dummy_water_form_factor () const
 f(0) for water (solvent) More...
 
double get_form_factor (Particle *p, FormFactorType ff_type=HEAVY_ATOMS) const
 get f(0), ie q=0 for real space profile calculation More...
 
const Vector< double > & get_form_factors (Particle *p, FormFactorType ff_type=HEAVY_ATOMS) const
 full form factor for reciprocal space profile calculation More...
 
double get_radius (Particle *p, FormFactorType ff_type=HEAVY_ATOMS) const
 radius More...
 
double get_vacuum_form_factor (Particle *p, FormFactorType ff_type=HEAVY_ATOMS) const
 f(0) in vacuum More...
 
const Vector< double > & get_vacuum_form_factors (Particle *p, FormFactorType ff_type=HEAVY_ATOMS) const
 for reciprocal space profile calculation More...
 
double get_vacuum_water_form_factor () const
 f(0) for water in vacuum More...
 
double get_volume (Particle *p, FormFactorType ff_type=HEAVY_ATOMS) const
 volume More...
 
const Vector< double > & get_water_dummy_form_factors () const
 full water dummy form factor More...
 
double get_water_form_factor () const
 f(0) for water More...
 
const Vector< double > & get_water_form_factors () const
 full water form factor More...
 
const Vector< double > & get_water_vacuum_form_factors () const
 full water vacuum form factor More...
 
void show (std::ostream &out=std::cout, std::string prefix="") const
 print tables More...
 

Static Public Attributes

static double rho_
 

Friends

std::ostream & operator<< (std::ostream &s, const AtomFactorCoefficients &atom_factor_coefficients)
 
std::istream & operator>> (std::istream &s, AtomFactorCoefficients &atom_factor_coefficients)
 

Constructor & Destructor Documentation

IMP::saxs::FormFactorTable::FormFactorTable ( )

default constructor

IMP::saxs::FormFactorTable::FormFactorTable ( const std::string &  table_name,
double  min_q,
double  max_q,
double  delta_q 
)

constructor with form factor table file (required for full form factors)

Member Function Documentation

double IMP::saxs::FormFactorTable::get_dummy_form_factor ( Particle p,
FormFactorType  ff_type = HEAVY_ATOMS 
) const

f(0) for solvent

const Vector<double>& IMP::saxs::FormFactorTable::get_dummy_form_factors ( Particle p,
FormFactorType  ff_type = HEAVY_ATOMS 
) const

for reciprocal space profile calculation

double IMP::saxs::FormFactorTable::get_dummy_water_form_factor ( ) const

f(0) for water (solvent)

Definition at line 82 of file FormFactorTable.h.

double IMP::saxs::FormFactorTable::get_form_factor ( Particle p,
FormFactorType  ff_type = HEAVY_ATOMS 
) const

get f(0), ie q=0 for real space profile calculation

const Vector<double>& IMP::saxs::FormFactorTable::get_form_factors ( Particle p,
FormFactorType  ff_type = HEAVY_ATOMS 
) const

full form factor for reciprocal space profile calculation

double IMP::saxs::FormFactorTable::get_radius ( Particle p,
FormFactorType  ff_type = HEAVY_ATOMS 
) const

radius

double IMP::saxs::FormFactorTable::get_vacuum_form_factor ( Particle p,
FormFactorType  ff_type = HEAVY_ATOMS 
) const

f(0) in vacuum

const Vector<double>& IMP::saxs::FormFactorTable::get_vacuum_form_factors ( Particle p,
FormFactorType  ff_type = HEAVY_ATOMS 
) const

for reciprocal space profile calculation

double IMP::saxs::FormFactorTable::get_vacuum_water_form_factor ( ) const

f(0) for water in vacuum

Definition at line 77 of file FormFactorTable.h.

double IMP::saxs::FormFactorTable::get_volume ( Particle p,
FormFactorType  ff_type = HEAVY_ATOMS 
) const

volume

const Vector<double>& IMP::saxs::FormFactorTable::get_water_dummy_form_factors ( ) const

full water dummy form factor

Definition at line 111 of file FormFactorTable.h.

double IMP::saxs::FormFactorTable::get_water_form_factor ( ) const

f(0) for water

Definition at line 74 of file FormFactorTable.h.

const Vector<double>& IMP::saxs::FormFactorTable::get_water_form_factors ( ) const

full water form factor

Definition at line 101 of file FormFactorTable.h.

const Vector<double>& IMP::saxs::FormFactorTable::get_water_vacuum_form_factors ( ) const

full water vacuum form factor

Definition at line 106 of file FormFactorTable.h.

void IMP::saxs::FormFactorTable::show ( std::ostream &  out = std::cout,
std::string  prefix = "" 
) const

print tables


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