IMP  2.1.1
The Integrative Modeling Platform
IMP::saxs::DerivativeCalculator Class Reference

#include <IMP/saxs/DerivativeCalculator.h>

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

Public Member Functions

 DerivativeCalculator (const Profile *exp_profile)
 
void compute_all_derivatives (const kernel::Particles &particles, const std::vector< kernel::Particles > &rigid_bodies, const std::vector< core::RigidBody > &rigid_bodies_decorators, const Profile *model_profile, const std::vector< double > &effect_size, DerivativeAccumulator *acc) const
 
std::vector< double > compute_gaussian_effect_size (const Profile *model_profile, const ProfileFitter< ChiScore > *pf, bool use_offset=false) const
 
- Public Member Functions inherited from IMP::base::Object
virtual void clear_caches ()
 
virtual void do_destroy ()
 
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.
 
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_chisquare_derivative (const Profile *model_profile, const kernel::Particles &particles1, const kernel::Particles &particles2, std::vector< algebra::Vector3D > &derivatives, const std::vector< double > &effect_size) const
 compute derivatives for particles1 with respect to particles2 More...
 
void compute_chisquare_derivative (const Profile *model_profile, const kernel::Particles &particles, std::vector< algebra::Vector3D > &derivatives, const std::vector< double > &effect_size) const
 compute derivatives for particles More...
 
void compute_intensity_derivatives (const DeltaDistributionFunction &delta_dist, const std::vector< Floats > &sinc_cos_values, unsigned int iq, algebra::Vector3D &dIdx) const
 
DeltaDistributionFunction precompute_derivative_helpers (const Profile *resampled_model_profile, const kernel::Particles &particles1, const kernel::Particles &particles2, std::vector< Floats > &sinc_cos_values) const
 
- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
 Object ()
 

Protected Attributes

const Profileexp_profile_
 

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 23 of file DerivativeCalculator.h.

Member Function Documentation

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

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 kernel::Particles particles,
std::vector< algebra::Vector3D > &  derivatives,
const std::vector< double > &  effect_size 
) const
protected
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 87 of file DerivativeCalculator.h.


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