IMP
2.2.0
The Integrative Modeling Platform
IMP Mainpage
All IMP Modules
Related Pages
Modules
Namespaces
Classes
Files
Examples
Indexes
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-2014 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
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:
base/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:
base/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_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
base/object_macros.h:25
IMP::kernel::Particle
Class to handle individual model particles.
Definition:
kernel/Particle.h:34
SingletonScore.h
Import IMP/kernel/SingletonScore.h in the namespace.
IMP::kernel::ModelObject::do_get_inputs
virtual ModelObjectsTemp do_get_inputs() const =0
IMP::kernel::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
kernel/Model.h:72