IMP
2.4.0
The Integrative Modeling Platform
IMP Mainpage
Modules
Classes
Examples
include
IMP
core
DistanceRestraint.h
Go to the documentation of this file.
1
/**
2
* \file IMP/core/DistanceRestraint.h
3
* \brief Distance restraint between two particles.
4
*
5
* Copyright 2007-2015 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPCORE_DISTANCE_RESTRAINT_H
10
#define IMPCORE_DISTANCE_RESTRAINT_H
11
12
#include <IMP/core/core_config.h>
13
#include "
DistancePairScore.h
"
14
#include "
XYZ.h
"
15
#include <
IMP/generic.h
>
16
17
#include <
IMP/kernel/Restraint.h
>
18
19
#include <iostream>
20
21
IMPCORE_BEGIN_NAMESPACE
22
23
//! Distance restraint between two particles
24
/**
25
\note If the particles are closer than a certain distance, then
26
the contributions to the derivatives are set to 0.
27
28
\see PairRestraint
29
\see DistancePairScore
30
\see SphereDistancePairScore
31
*/
32
class
IMPCOREEXPORT
DistanceRestraint
:
33
#if defined(SWIG) || defined(IMP_DOXYGEN)
34
public
kernel::Restraint
35
#else
36
public
IMP::internal::TupleRestraint<DistancePairScore>
37
#endif
38
{
39
public
:
40
//! Create the distance restraint.
41
/** \param[in] score_func Scoring function for the restraint.
42
\param[in] a Pointer to first particle in distance restraint.
43
\param[in] b Pointer to second particle in distance restraint.
44
\param[in] name restraint name
45
*/
46
DistanceRestraint
(
UnaryFunction
*score_func,
47
kernel::Particle
*a,
48
kernel::Particle
*b,
49
std::string name =
"DistanceRestraint %1%"
);
50
51
#ifdef SWIG
52
protected
:
53
double
unprotected_evaluate(
IMP::DerivativeAccumulator
*accum)
const
;
54
IMP::kernel::ModelObjectsTemp
do_get_inputs
()
const
;
55
IMP_OBJECT_METHODS
(
DistanceRestraint
);
56
#endif
57
};
58
59
IMPCORE_END_NAMESPACE
60
61
#endif
/* IMPCORE_DISTANCE_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
IMP::kernel::UnaryFunction
Abstract single variable functor class for score functions.
Definition:
kernel/UnaryFunction.h:25
IMP::core::DistanceRestraint
Distance restraint between two particles.
Definition:
DistanceRestraint.h:32
IMP::base::Vector
Definition:
Vector.h:37
XYZ.h
Simple XYZ decorator.
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
DistancePairScore.h
A Score on the distance between a pair of particles.
IMP::kernel::ModelObject::do_get_inputs
virtual ModelObjectsTemp do_get_inputs() const =0
generic.h
Import IMP/kernel/generic.h in the namespace.