IMP  2.1.0
The Integrative Modeling Platform
CysteineCrossLinkData.h
Go to the documentation of this file.
1 /**
2  * \file isd/CysteineCrossLinkData.h \brief Normal distribution of Function
3  *
4  * Copyright 2007-2013 IMP Inventors. All rights reserved.
5  */
6 
7 #ifndef IMPISD_CYSTEINE_CROSS_LINK_DATA_H
8 #define IMPISD_CYSTEINE_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 //! CysteineCrossLinkData
19 /**
20  */
21 
22 class IMPISDEXPORT CysteineCrossLinkData : public base::Object
23 {
24  Floats omega0_grid_;//the typical uncertainty, it goes in the prior
25  Floats fmod_grid_;
26  double fexp_;
27  int prior_type_;
28  Floats omega_grid_;
29  std::vector<Floats> grid_;
30  double get_element(double fexp, double fmod, double omega) const;
31  double get_omega_prior(double omega, double omega0) const;
32 
33 
34  public:
35 
36  CysteineCrossLinkData(double fexp, Floats fmod_grid,
37  Floats omega_grid, Floats omega0_grid,
38  int prior_type=3);
39 
40  int get_closest(std::vector<double> const& vec, double value) const;
41  Floats get_omegas(Floats fmods, double omega0) const;
42  Floats get_nonmarginal_elements(double fexp, Floats fmods,
43  double omega) const;
44  Floats get_marginal_elements(Floats fmods, double omega0) const ;
45 
46  double get_omega(double fmod, double omega0) const;
47  double get_standard_deviation(double fmod, double omega0) const;
48  double get_nonmarginal_element(double fexp, double fmod, double omega) const;
49  double get_marginal_element(double fmod, double omega0) const ;
50 
52 
53 };
54 
55 IMPISD_END_NAMESPACE
56 
57 #endif /* IMPISD_CYSTEINE_CROSS_LINK_DATA_H */
Import IMP/kernel/constants.h in the namespace.
Import IMP/kernel/macros.h in the namespace.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Storage of a model, its restraints, constraints and particles.
Common base class for heavy weight IMP objects.