IMP
2.3.1
The Integrative Modeling Platform
IMP Mainpage
Modules
Applications
Related Pages
Groups
Classes
Files
Examples
Indexes
File List
File Members
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-2014 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/kernel/Restraint.h
>
16
#include <
IMP/kernel/Particle.h
>
17
#include <
IMP/generic.h
>
18
19
IMPCORE_BEGIN_NAMESPACE
20
21
//! Dihedral restraint between four particles
22
class
IMPCOREEXPORT
DihedralRestraint
:
public
kernel::Restraint
{
23
public
:
24
//! Create the dihedral restraint.
25
/** \param[in] score_func Scoring function for the restraint.
26
\param[in] p1 Pointer to first particle in dihedral restraint.
27
\param[in] p2 Pointer to second particle in dihedral restraint.
28
\param[in] p3 Pointer to third particle in dihedral restraint.
29
\param[in] p4 Pointer to fourth particle in dihedral restraint.
30
*/
31
DihedralRestraint
(
UnaryFunction
* score_func,
kernel::Particle
* p1,
32
kernel::Particle
* p2,
kernel::Particle
* p3,
33
kernel::Particle
* p4);
34
35
virtual
double
unprotected_evaluate(
IMP::kernel::DerivativeAccumulator
* accum)
36
const
IMP_OVERRIDE
;
37
virtual
IMP::kernel::ModelObjectsTemp
do_get_inputs
()
const
IMP_OVERRIDE
;
38
IMP_OBJECT_METHODS
(
DihedralRestraint
);
39
40
private
:
41
IMP::base::PointerMember<UnaryFunction>
score_func_;
42
IMP::base::PointerMember<kernel::Particle>
p_[4];
43
};
44
45
IMPCORE_END_NAMESPACE
46
47
#endif
/* IMPCORE_DIHEDRAL_RESTRAINT_H */
IMP::kernel::DerivativeAccumulator
Class for adding derivatives from restraints to the model.
Definition:
kernel/DerivativeAccumulator.h:25
IMP::base::PointerMember
A smart pointer to a ref-counted Object that is a class member.
Definition:
Pointer.h:147
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
UnaryFunction.h
Import IMP/kernel/UnaryFunction.h in the namespace.
IMP::core::DihedralRestraint
Dihedral restraint between four particles.
Definition:
DihedralRestraint.h:22
IMP::kernel::UnaryFunction
Abstract single variable functor class for score functions.
Definition:
kernel/UnaryFunction.h:25
IMP::base::Vector
Definition:
Vector.h:37
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
Particle.h
Classes to handle individual model particles. (Note that implementation of inline functions in in int...
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
generic.h
Import IMP/kernel/generic.h in the namespace.