IMP
2.0.0
The Integrative Modeling Platform
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
AmbiguousNOERestraint.h
Go to the documentation of this file.
1
/**
2
* \file IMP/isd/AmbiguousNOERestraint.h
3
* \brief A lognormal restraint that uses the ISPA model to model NOE-derived
4
* distance fit.
5
*
6
* Copyright 2007-2013 IMP Inventors. All rights reserved.
7
*
8
*/
9
10
#ifndef IMPISD_AMBIGUOUS_NOE_RESTRAINT_H
11
#define IMPISD_AMBIGUOUS_NOE_RESTRAINT_H
12
13
#include <IMP/isd/isd_config.h>
14
#include <
IMP/SingletonScore.h
>
15
#include <
IMP/core/XYZ.h
>
16
#include <
IMP/restraint_macros.h
>
17
#include <
IMP/isd/ISDRestraint.h
>
18
#include <
IMP/PairContainer.h
>
19
#include <
IMP/isd/Scale.h
>
20
21
IMPISD_BEGIN_NAMESPACE
22
23
//! Ambiguous NOE distance restraint between a number of pairs of particles.
24
class
IMPISDEXPORT
AmbiguousNOERestraint
:
public
ISDRestraint
25
{
26
Pointer<PairContainer> pc_;
27
Pointer<Particle> sigma_;
28
Pointer<Particle> gamma_;
29
double
Vexp_;
30
double
chi_;
31
void
set_chi(
double
chi) { chi_ = chi; }
32
public
:
33
//! Create the restraint.
34
/** Restraints should store the particles they are to act on,
35
preferably in a Singleton or PairContainer as appropriate.
36
*/
37
AmbiguousNOERestraint
(
PairContainer
*pc,
Particle
*sigma,
Particle
*gamma,
38
double
Iexp);
39
40
/* call for probability */
41
double
get_probability()
const
42
{
43
return
exp(-unprotected_evaluate(
nullptr
));
44
}
45
46
double
get_chi()
const
47
{
return
chi_; }
48
49
50
/** This macro declares the basic needed methods: evaluate and show
51
*/
52
IMP_RESTRAINT_2
(
AmbiguousNOERestraint
);
53
54
};
55
56
IMPISD_END_NAMESPACE
57
58
#endif
/* IMPISD_AMBIGUOUS_NOE_RESTRAINT_H */