IMP logo
IMP Reference Guide  2.18.0
The Integrative Modeling Platform
CysteineCrossLinkData.h
Go to the documentation of this file.
1 /**
2  * \file IMP/isd/CysteineCrossLinkData.h \brief Normal distribution of Function
3  *
4  * Copyright 2007-2022 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 <IMP/isd/isd_config.h>
11 #include <IMP/macros.h>
12 #include <IMP/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 Object {
23  Floats omega0_grid_; // the typical uncertainty, it goes in the prior
24  Floats fmod_grid_;
25  double fexp_;
26  int prior_type_;
27  Floats omega_grid_;
28  std::vector<Floats> grid_;
29  double get_element(double fexp, double fmod, double omega) const;
30  double get_omega_prior(double omega, double omega0) const;
31 
32  public:
33  CysteineCrossLinkData(double fexp, Floats fmod_grid, Floats omega_grid,
34  Floats omega0_grid, int prior_type = 3);
35 
36  int get_closest(std::vector<double> const& vec, double value) const;
37  Floats get_omegas(Floats fmods, double omega0) const;
38  Floats get_nonmarginal_elements(double fexp, Floats fmods,
39  double omega) const;
40  Floats get_marginal_elements(Floats fmods, double omega0) const;
41 
42  double get_omega(double fmod, double omega0) const;
43  double get_standard_deviation(double fmod, double omega0) const;
44  double get_nonmarginal_element(double fexp, double fmod, double omega) const;
45  double get_marginal_element(double fmod, double omega0) const;
46 
48 };
49 
50 IMPISD_END_NAMESPACE
51 
52 #endif /* IMPISD_CYSTEINE_CROSS_LINK_DATA_H */
Helper functions to check for NaN or infinity.
Various useful constants.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Storage of a model, its restraints, constraints and particles.
Various general useful macros for IMP.
Common base class for heavy weight IMP objects.
Definition: Object.h:106