Public Member Functions | |
void | add (const Profile &other_profile) |
add another profile - useful for rigid bodies | |
void | add_entry (Float q, Float intensity, Float error=1.0) |
add intensity entry to profile | |
void | add_errors () |
add simulated error | |
void | add_partial_profiles (const Profile &other_profile) |
add partial profiles | |
void | background_adjust (double start_q) |
background adjustment option | |
void | calculate_profile (const Particles &particles1, const Particles &particles2) |
void | calculate_profile (const Particles &particles, unsigned int n) |
void | calculate_profile (const Particles &particles, bool reciprocal=false, bool autocorrelation=true) |
computes theoretical profile | |
void | calculate_profile_partial (const Particles &particles1, const Particles &particles2) |
void | calculate_profile_partial (const Particles &particles, const Floats &surface=Floats(), bool autocorrelation=true) |
compute profile for fitting with hydration layer and excluded volume | |
void | distribution_2_profile (const RadialDistributionFunction &r_dist) |
convert to reciprocal space I(q) = Sum(P(r)*sin(qr)/qr) | |
Float | get_delta_q () const |
return sampling resolution | |
Float | get_error (unsigned int i) const |
Float | get_intensity (unsigned int i) const |
Float | get_max_q () const |
return maximal sampling point | |
Float | get_min_q () const |
return minimal sampling point | |
Float | get_q (unsigned int i) const |
Float | get_weight (unsigned int i) const |
bool | is_uniform_sampling () const |
checks the sampling of experimental profile | |
void | offset (Float c) |
offset profile by c, I(q) = I(q) - c | |
Profile (Float qmin=0.0, Float qmax=0.5, Float delta=0.005) | |
init for theoretical profile | |
Profile (const String &file_name) | |
init from file | |
void | profile_2_distribution (RadialDistributionFunction &rd, Float max_distance) const |
convert to real space P(r) function P(r) = 1/2PI^2 Sum(I(q)*qr*sin(qr)) | |
void | read_SAXS_file (const String &file_name) |
reads SAXS profile from file | |
void | scale (Float c) |
scale | |
void | set_intensity (unsigned int i, Float iq) |
unsigned int | size () const |
return number of entries in SAXS profile | |
void | sum_partial_profiles (Float c1, Float c2, Profile &out_profile) |
computes full profile for given fitting parameters | |
void | write_SAXS_file (const String &file_name) |
print to file | |
Static Public Attributes | |
static const Float | modulation_function_parameter_ |
Protected Attributes | |
Float | delta_q_ |
bool | experimental_ |
FormFactorTable * | ff_table_ |
Float | max_q_ |
Float | min_q_ |
std::vector< Profile > | partial_profiles_ |
std::vector< IntensityEntry > | profile_ |
Friends | |
std::ostream & | operator<< (std::ostream &q, const IntensityEntry &e) |
std::istream & | operator>> (std::istream &q, IntensityEntry &e) |
void IMP::saxs::Profile::calculate_profile | ( | const Particles & | particles1, | |
const Particles & | particles2 | |||
) |
computes theoretical profile contribution from iter-molecular interactions between the particles
void IMP::saxs::Profile::calculate_profile | ( | const Particles & | particles, | |
unsigned int | n | |||
) |
computes theoretical profile faster for cyclically symmetric particles assumes that the units particles are ordered one after another in the input particles vector (n - symmetry order)