home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.21ec66f3d8,2026/10/03
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
core
version 20261003.develop.21ec66f3d8
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-2026 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
#include <
IMP/core/DihedralQuadScore.h
>
14
15
#include <
IMP/core/QuadRestraint.h
>
16
#include <
IMP/UnaryFunction.h
>
17
#include <cereal/access.hpp>
18
#include <cereal/types/base_class.hpp>
19
#include <cereal/types/polymorphic.hpp>
20
21
IMPCORE_BEGIN_NAMESPACE
22
23
//! Dihedral restraint between four particles
24
/** \see DihedralQuadScore
25
*/
26
class
IMPCOREEXPORT
DihedralRestraint
:
public
QuadRestraint
{
27
friend
class
cereal::access;
28
29
template
<
class
Archive>
void
serialize(Archive &ar) {
30
ar(cereal::base_class<QuadRestraint>(
this
));
31
}
32
33
IMP_OBJECT_SERIALIZE_DECL
(
DihedralRestraint
);
34
35
public
:
36
//! Create the dihedral restraint.
37
/** \param[in] m Model.
38
\param[in] score_func Scoring function for the restraint.
39
\param[in] p1 First particle in dihedral restraint.
40
\param[in] p2 Second particle in dihedral restraint.
41
\param[in] p3 Third particle in dihedral restraint.
42
\param[in] p4 Fourth particle in dihedral restraint.
43
*/
44
DihedralRestraint
(
Model
*m,
UnaryFunction
* score_func,
45
ParticleIndexAdaptor
p1,
46
ParticleIndexAdaptor
p2,
47
ParticleIndexAdaptor
p3,
48
ParticleIndexAdaptor
p4);
49
DihedralRestraint
() {}
50
51
IMP_OBJECT_METHODS
(
DihedralRestraint
);
52
};
53
54
IMPCORE_END_NAMESPACE
55
56
#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.
QuadRestraint.h
Apply a QuadScore to a Quad.
IMP::core::DihedralRestraint
Dihedral restraint between four particles.
Definition:
DihedralRestraint.h:26
IMP::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
Model.h:86
IMP_OBJECT_SERIALIZE_DECL
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers.
Definition:
object_macros.h:95
DihedralQuadScore.h
A Score on the dihedral angle between four particles.
IMP::core::QuadRestraint
Applies a QuadScore to a Quad.
Definition:
QuadRestraint.h:31
IMP::UnaryFunction
Abstract single variable functor class for score functions.
Definition:
UnaryFunction.h:27