IMP
2.4.0
The Integrative Modeling Platform
IMP Mainpage
Modules
Classes
Examples
include
IMP
isd
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-2015 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/kernel/Restraint.h
>
17
#include <
IMP/PairContainer.h
>
18
#include <
IMP/isd/Scale.h
>
19
20
IMPISD_BEGIN_NAMESPACE
21
22
//! Ambiguous NOE distance restraint between a number of pairs of particles.
23
class
IMPISDEXPORT
AmbiguousNOERestraint
:
public
kernel::Restraint
{
24
base::Pointer<PairContainer>
pc_;
25
base::Pointer<kernel::Particle>
sigma_;
26
base::Pointer<kernel::Particle>
gamma_;
27
double
Vexp_;
28
double
chi_;
29
void
set_chi(
double
chi) { chi_ = chi; }
30
31
public
:
32
//! Create the restraint.
33
/** kernel::Restraints should store the particles they are to act on,
34
preferably in a Singleton or PairContainer as appropriate.
35
*/
36
AmbiguousNOERestraint
(
kernel::Model
*m,
PairContainer
*pc,
37
kernel::Particle
*sigma,
kernel::Particle
*gamma,
38
double
Iexp);
39
40
/* call for probability */
41
double
get_probability()
const
{
return
exp(-unprotected_evaluate(
nullptr
)); }
42
43
double
get_chi()
const
{
return
chi_; }
44
45
/** This macro declares the basic needed methods: evaluate and show
46
*/
47
virtual
double
unprotected_evaluate(
IMP::kernel::DerivativeAccumulator
*accum)
48
const
IMP_OVERRIDE
;
49
virtual
IMP::kernel::ModelObjectsTemp
do_get_inputs
()
const
IMP_OVERRIDE
;
50
IMP_OBJECT_METHODS
(
AmbiguousNOERestraint
);
51
};
52
53
IMPISD_END_NAMESPACE
54
55
#endif
/* IMPISD_AMBIGUOUS_NOE_RESTRAINT_H */
IMP::kernel::DerivativeAccumulator
Class for adding derivatives from restraints to the model.
Definition:
kernel/DerivativeAccumulator.h:25
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
Scale.h
A decorator for scale parameters particles.
IMP::kernel::PairContainer
A shared container for Pairs.
Definition:
kernel/PairContainer.h:37
IMP::base::Pointer
A smart pointer to a reference counted object.
Definition:
Pointer.h:87
IMP::isd::AmbiguousNOERestraint
Ambiguous NOE distance restraint between a number of pairs of particles.
Definition:
AmbiguousNOERestraint.h:23
IMP::base::Vector
Definition:
Vector.h:37
XYZ.h
Simple XYZ decorator.
PairContainer.h
Import IMP/kernel/PairContainer.h in the namespace.
Restraint.h
Abstract base class for all restraints.
IMP::kernel::Restraint
A restraint is a term in an IMP ScoringFunction.
Definition:
kernel/Restraint.h:52
IMP::kernel::Particle
Class to handle individual model particles.
Definition:
kernel/Particle.h:37
SingletonScore.h
Import IMP/kernel/SingletonScore.h in the namespace.
IMP::kernel::ModelObject::do_get_inputs
virtual ModelObjectsTemp do_get_inputs() const =0
IMP_OVERRIDE
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Definition:
compiler_macros.h:75
IMP::kernel::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
kernel/Model.h:73