IMP logo
IMP Reference Guide  develop.21ec66f3d8,2026/10/03
The Integrative Modeling Platform
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>
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 
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,
50 
52 };
53 
54 IMPCORE_END_NAMESPACE
55 
56 #endif /* IMPCORE_DIHEDRAL_RESTRAINT_H */
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Take Decorator, Particle or ParticleIndex.
Single variable function.
Apply a QuadScore to a Quad.
Dihedral restraint between four particles.
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers.
Definition: object_macros.h:95
A Score on the dihedral angle between four particles.
Applies a QuadScore to a Quad.
Definition: QuadRestraint.h:31
Abstract single variable functor class for score functions.
Definition: UnaryFunction.h:27