7 #ifndef IMPISD_CYSTEINE_CROSS_LINK_DATA_H
8 #define IMPISD_CYSTEINE_CROSS_LINK_DATA_H
10 #include <IMP/isd/isd_config.h>
15 #include <cereal/access.hpp>
16 #include <cereal/types/vector.hpp>
18 IMPISD_BEGIN_NAMESPACE
30 std::vector<Floats> grid_;
32 friend class cereal::access;
34 template<
class Archive>
void serialize(Archive &ar) {
35 ar(cereal::base_class<Object>(
this), omega0_grid_, fmod_grid_, fexp_,
36 prior_type_, omega_grid_, grid_);
39 double get_element(
double fexp,
double fmod,
double omega)
const;
40 double get_omega_prior(
double omega,
double omega0)
const;
44 Floats omega0_grid,
int prior_type = 3);
47 int get_closest(std::vector<double>
const& vec,
double value)
const;
49 Floats get_nonmarginal_elements(
double fexp,
Floats fmods,
51 Floats get_marginal_elements(
Floats fmods,
double omega0)
const;
53 double get_omega(
double fmod,
double omega0)
const;
54 double get_standard_deviation(
double fmod,
double omega0)
const;
55 double get_nonmarginal_element(
double fexp,
double fmod,
double omega)
const;
56 double get_marginal_element(
double fmod,
double omega0)
const;
Helper functions to check for NaN or infinity.
Various useful constants.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Storage of a model, its restraints, constraints and particles.
Various general useful macros for IMP.
Common base class for heavy weight IMP objects.
Object(std::string name)
Construct an object with the given name.