7 #ifndef IMPISD_CROSS_LINK_DATA_H
8 #define IMPISD_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
33 std::vector<Floats> grid_;
35 friend class cereal::access;
37 template<
class Archive>
void serialize(Archive &ar) {
38 ar(cereal::base_class<Object>(
this), lexp_, dist_grid_, sigma_grid_,
39 omega_grid_, pot_x_grid_, pot_value_grid_, prior_type_, bias_, grid_);
42 double get_unbiased_element(
double dist,
double sigmai)
const;
43 double get_biased_element(
double dist,
double sigmai)
const;
47 double lexp_,
double don = std::numeric_limits<double>::max(),
48 double doff = std::numeric_limits<double>::max(),
52 double don = std::numeric_limits<double>::max(),
53 double doff = std::numeric_limits<double>::max(),
56 int get_closest(std::vector<double>
const& vec,
double value)
const;
58 double get_omega_prior(
double omega,
double omega0)
const;
59 Floats get_nonmarginal_elements(
double sigmai,
Floats dists)
const;
60 Floats get_marginal_elements(
double sigma,
Floats dists)
const;
61 double get_marginal_maximum(
double sigma)
const;
62 double get_marginal_maximum()
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.