IMP logo
IMP Reference Guide  develop.d4e9f3251e,2024/04/26
The Integrative Modeling Platform
AngleRestraint.h
Go to the documentation of this file.
1 /**
2  * \file IMP/core/AngleRestraint.h
3  * \brief Angle restraint between three particles.
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPCORE_ANGLE_RESTRAINT_H
10 #define IMPCORE_ANGLE_RESTRAINT_H
11 
12 #include <IMP/core/core_config.h>
13 #include "AngleTripletScore.h"
14 #include "XYZ.h"
15 
17 #include <IMP/UnaryFunction.h>
18 #include <cereal/access.hpp>
19 #include <cereal/types/base_class.hpp>
20 #include <cereal/types/polymorphic.hpp>
21 
22 IMPCORE_BEGIN_NAMESPACE
23 
24 //! Angle restraint between three particles
25 /** \see AngleTripletScore
26  */
27 class IMPCOREEXPORT AngleRestraint : public TripletRestraint {
28  friend class cereal::access;
29 
30  template<class Archive> void serialize(Archive &ar) {
31  ar(cereal::base_class<TripletRestraint>(this));
32  }
33 
35 
36  public:
37  //! Create the angle restraint.
38  /** \param[in] m Model.
39  \param[in] score_func Scoring function for the restraint.
40  \param[in] p1 First particle in angle restraint.
41  \param[in] p2 Second particle in angle restraint.
42  \param[in] p3 Third particle in angle restraint.
43  */
46  AngleRestraint() {}
47 
49 };
50 
51 IMPCORE_END_NAMESPACE
52 
53 #endif /* IMPCORE_ANGLE_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.
Simple XYZ decorator.
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
Angle restraint between three particles.
Applies a TripletScore to a Triplet.
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers.
Definition: object_macros.h:95
Apply a TripletScore to a Triplet.
Abstract single variable functor class for score functions.
Definition: UnaryFunction.h:27
A Score on the angle between three particles.