9 #ifndef IMPSAXS_DERIVATIVE_CALCULATOR_H
10 #define IMPSAXS_DERIVATIVE_CALCULATOR_H
17 IMPSAXS_BEGIN_NAMESPACE
31 std::vector<double> compute_gaussian_effect_size(
const Profile* model_profile,
33 bool use_offset =
false)
const;
40 const std::vector<kernel::Particles>& rigid_bodies,
41 const std::vector<core::RigidBody>& rigid_bodies_decorators,
42 const Profile* model_profile,
const std::vector<double>& effect_size,
52 std::vector<Floats>& sinc_cos_values)
60 delta_dist,
const std::vector<Floats>& sinc_cos_values,
74 void compute_chisquare_derivative(
const Profile* model_profile,
77 std::vector<algebra::Vector3D >& derivatives,
78 const std::vector<double>& effect_size)
const;
89 std::vector<algebra::Vector3D >& derivatives,
90 const std::vector<double>& effect_size)
const
92 return compute_chisquare_derivative(model_profile, particles, particles,
93 derivatives, effect_size);
100 void compute_sinc_cos(
Float pr_resolution,
Float max_distance,
102 std::vector<Floats>& output_values)
const;
104 void compute_profile_difference(
const Profile* model_profile,
106 std::vector<double>& profile_diff)
const;
111 IMPSAXS_END_NAMESPACE
Class for adding derivatives from restraints to the model.
a class for fitting two profiles
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
computes distribution functions
Common base class for heavy weight IMP objects.
double Float
Basic floating-point value (could be float, double...)
A shared base class to help in debugging and things.
A class for profile storing and computation.