home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
2.5.0
The Integrative Modeling Platform
IMP Manual
Reference Guide
Modules
Classes
Examples
include
IMP
core
DihedralRestraint.h
Go to the documentation of this file.
1
/**
2
* \file IMP/core/DihedralRestraint.h
3
* \brief Dihedral restraint between four particles.
4
*
5
* Copyright 2007-2015 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPCORE_DIHEDRAL_RESTRAINT_H
10
#define IMPCORE_DIHEDRAL_RESTRAINT_H
11
12
#include <IMP/core/core_config.h>
13
14
#include <
IMP/UnaryFunction.h
>
15
#include <
IMP/Restraint.h
>
16
#include <
IMP/Particle.h
>
17
#include <
IMP/generic.h
>
18
19
IMPCORE_BEGIN_NAMESPACE
20
21
//! Dihedral restraint between four particles
22
class
IMPCOREEXPORT
DihedralRestraint
:
public
Restraint
{
23
public
:
24
//! Create the dihedral restraint.
25
/** \param[in] m Model.
26
\param[in] score_func Scoring function for the restraint.
27
\param[in] p1 First particle in dihedral restraint.
28
\param[in] p2 Second particle in dihedral restraint.
29
\param[in] p3 Third particle in dihedral restraint.
30
\param[in] p4 Fourth particle in dihedral restraint.
31
*/
32
DihedralRestraint
(
Model
*m,
UnaryFunction
* score_func,
33
ParticleIndexAdaptor
p1,
34
ParticleIndexAdaptor
p2,
35
ParticleIndexAdaptor
p3,
36
ParticleIndexAdaptor
p4);
37
38
#ifndef IMP_DOXYGEN
39
IMPCORE_DEPRECATED_METHOD_DECL(2.5)
40
DihedralRestraint
(
UnaryFunction
* score_func,
Particle
* p1,
41
Particle
* p2,
Particle
* p3,
42
Particle
* p4);
43
#endif
44
45
virtual
double
unprotected_evaluate(
IMP::DerivativeAccumulator
* accum)
46
const
IMP_OVERRIDE
;
47
virtual
IMP::ModelObjectsTemp
do_get_inputs
()
const
IMP_OVERRIDE
;
48
IMP_OBJECT_METHODS
(
DihedralRestraint
);
49
50
private
:
51
IMP::PointerMember<UnaryFunction>
score_func_;
52
ParticleIndex
p_[4];
53
};
54
55
IMPCORE_END_NAMESPACE
56
57
#endif
/* IMPCORE_DIHEDRAL_RESTRAINT_H */
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::ParticleIndexAdaptor
Definition:
particle_index.h:32
UnaryFunction.h
Single variable function.
IMP::Index< ParticleIndexTag >
IMP::core::DihedralRestraint
Dihedral restraint between four particles.
Definition:
DihedralRestraint.h:22
IMP::Vector
Definition:
Vector.h:37
IMP::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
Model.h:72
IMP::PointerMember
A smart pointer to a ref-counted Object that is a class member.
Definition:
Pointer.h:146
Particle.h
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
IMP::Particle
Class to handle individual model particles.
Definition:
Particle.h:37
Restraint.h
Abstract base class for all restraints.
IMP::UnaryFunction
Abstract single variable functor class for score functions.
Definition:
UnaryFunction.h:25
IMP::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:80
IMP::DerivativeAccumulator
Class for adding derivatives from restraints to the model.
Definition:
DerivativeAccumulator.h:25
IMP::Restraint
A restraint is a term in an IMP ScoringFunction.
Definition:
Restraint.h:52
generic.h
Various important functionality for implementing decorators.