IMP  2.3.0
The Integrative Modeling Platform
CrossLinkData.h
Go to the documentation of this file.
1 /**
2  * \file IMP/isd/CrossLinkData.h \brief Normal distribution of Function
3  *
4  * Copyright 2007-2014 IMP Inventors. All rights reserved.
5  */
6 
7 #ifndef IMPISD_CROSS_LINK_DATA_H
8 #define IMPISD_CROSS_LINK_DATA_H
9 
10 #include "isd_config.h"
11 #include <IMP/macros.h>
12 #include <IMP/kernel/Model.h>
13 #include <IMP/constants.h>
14 #include <math.h>
15 
16 IMPISD_BEGIN_NAMESPACE
17 
18 //! CrossLinkData
19 /**
20  */
21 
22 class IMPISDEXPORT CrossLinkData : public base::Object {
23  double lexp_; // length of the linker
24  Floats dist_grid_;
25  Floats sigma_grid_;
26  Floats omega_grid_;
27  Floats pot_x_grid_;
28  Floats pot_value_grid_;
29  int prior_type_;
30  bool bias_;
31  std::vector<Floats> grid_;
32  double get_unbiased_element(double dist, double sigmai) const;
33  double get_biased_element(double dist, double sigmai) const;
34 
35  public:
36  CrossLinkData(Floats dist_grid, Floats omega_grid, Floats sigma_grid,
37  double lexp_, double don = std::numeric_limits<double>::max(),
38  double doff = std::numeric_limits<double>::max(),
39  int prior_type = 0);
40  CrossLinkData(Floats dist_grid, Floats omega_grid, Floats sigma_grid,
41  Floats pot_x_grid, Floats pot_value_grid,
42  double don = std::numeric_limits<double>::max(),
43  double doff = std::numeric_limits<double>::max(),
44  int prior_type = 0);
45  int get_closest(std::vector<double> const& vec, double value) const;
46  Floats get_omegas(double sigma, Floats dists) const;
47  double get_omega_prior(double omega, double omega0) const;
48  Floats get_nonmarginal_elements(double sigmai, Floats dists) const;
49  Floats get_marginal_elements(double sigma, Floats dists) const;
50  double get_marginal_maximum(double sigma) const;
51  double get_marginal_maximum() const;
52 
54 };
55 
56 IMPISD_END_NAMESPACE
57 
58 #endif /* IMPISD_CROSS_LINK_DATA_H */
Declare an efficient stl-compatible map.
Import IMP/kernel/constants.h in the namespace.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Import IMP/kernel/macros.h in the namespace.
Storage of a model, its restraints, constraints and particles.
Common base class for heavy weight IMP objects.
Definition: Object.h:106