home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.7400db2aee,2024/11/23
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
core
version 20241123.develop.7400db2aee
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:50
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.