home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
2.20.0
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
core
version 2.20.0
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-2022 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
virtual
double
unprotected_evaluate
(
IMP::DerivativeAccumulator
* accum)
39
const override
;
40
virtual
IMP::ModelObjectsTemp
do_get_inputs
()
const override
;
41
IMP_OBJECT_METHODS
(
DihedralRestraint
);
42
43
private
:
44
IMP::PointerMember<UnaryFunction>
score_func_;
45
ParticleIndex
p_[4];
46
};
47
48
IMPCORE_END_NAMESPACE
49
50
#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
Take Decorator, Particle or ParticleIndex.
Definition:
particle_index.h:32
UnaryFunction.h
Single variable function.
IMP::Index< ParticleIndexTag >
IMP::Restraint::unprotected_evaluate
virtual double unprotected_evaluate(DerivativeAccumulator *da) const
Return the unweighted score for the restraint.
IMP::core::DihedralRestraint
Dihedral restraint between four particles.
Definition:
DihedralRestraint.h:22
IMP::Vector
A more IMP-like version of the std::vector.
Definition:
Vector.h:42
IMP::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
Model.h:86
IMP::PointerMember
A smart pointer to a ref-counted Object that is a class member.
Definition:
Pointer.h:143
Particle.h
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
Restraint.h
Abstract base class for all restraints.
IMP::UnaryFunction
Abstract single variable functor class for score functions.
Definition:
UnaryFunction.h:27
IMP::ModelObject::do_get_inputs
virtual ModelObjectsTemp do_get_inputs() const =0
IMP::DerivativeAccumulator
Class for adding derivatives from restraints to the model.
Definition:
DerivativeAccumulator.h:24
IMP::Restraint
A restraint is a term in an IMP ScoringFunction.
Definition:
Restraint.h:56
generic.h
Compile-time generic restraint and constraint support.