IMP logo
IMP Reference Guide  develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
IMP::saxs::DerivativeCalculator Class Reference

#include <IMP/saxs/DerivativeCalculator.h>

+ Inheritance diagram for IMP::saxs::DerivativeCalculator:

Detailed Description

A class for computing derivatives with respect to SAXS Note: the calculation is expensive, make sure it helps if you use it!

Definition at line 22 of file DerivativeCalculator.h.

Public Member Functions

 DerivativeCalculator (const Profile *exp_profile)
 
void compute_chisquare_derivative (const Profile *model_profile, const Particles &particles1, const Particles &particles2, Vector< algebra::Vector3D > &derivatives, const Vector< double > &effect_size) const
 compute derivatives for particles1 with respect to particles2 More...
 
void compute_chisquare_derivative (const Profile *model_profile, const Particles &particles, Vector< algebra::Vector3D > &derivatives, const Vector< double > &effect_size) const
 compute derivatives for particles More...
 
void compute_gaussian_effect_size (const Profile *model_profile, const double c, const double offset, Vector< double > &effect_size) const
 
- Public Member Functions inherited from IMP::Object
virtual void clear_caches ()
 
CheckLevel get_check_level () const
 
LogLevel get_log_level () const
 
virtual VersionInfo get_version_info () const
 Get information about the module and version of the object. More...
 
void set_check_level (CheckLevel l)
 
void set_log_level (LogLevel l)
 Set the logging level used in this object. More...
 
void set_was_used (bool tf) const
 
void show (std::ostream &out=std::cout) const
 
const std::string & get_name () const
 
void set_name (std::string name)
 
virtual std::string get_type_name () const
 

Protected Member Functions

void compute_intensity_derivatives (const DeltaDistributionFunction &delta_dist, const Vector< Vector< double > > &sinc_cos_values, unsigned int iq, algebra::Vector3D &dIdx) const
 
DeltaDistributionFunction precompute_derivative_helpers (const Profile *resampled_model_profile, const Particles &particles1, const Particles &particles2, Vector< Vector< double > > &sinc_cos_values) const
 
- Protected Member Functions inherited from IMP::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
virtual void do_destroy ()
 

Protected Attributes

const Profileexp_profile_
 

Member Function Documentation

void IMP::saxs::DerivativeCalculator::compute_chisquare_derivative ( const Profile model_profile,
const Particles particles1,
const Particles particles2,
Vector< algebra::Vector3D > &  derivatives,
const Vector< double > &  effect_size 
) const

compute derivatives for particles1 with respect to particles2

This method is needed for rigid bodies when particles1 and particles2 are particles of two rigid bodies. In this case the particles of the same rigid body are ignored.

Parameters
[in]model_profileThe current profile of particles
[in]particles1Derivative will be computed for each particle
[in]particles2Derivative will be computed relative to this set
[in]derivativesOutput vector
[in]effect_sizeEffect size
void IMP::saxs::DerivativeCalculator::compute_chisquare_derivative ( const Profile model_profile,
const Particles particles,
Vector< algebra::Vector3D > &  derivatives,
const Vector< double > &  effect_size 
) const

compute derivatives for particles

Parameters
[in]model_profileThe current profile of particles
[in]particlesDerivative will be computed for each particle
[in]derivativesOutput vector
[in]effect_sizeEffect size

Definition at line 50 of file DerivativeCalculator.h.


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