home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
2.20.1
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
core
version 2.20.1
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
16
#include <
IMP/core/TripletRestraint.h
>
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
34
IMP_OBJECT_SERIALIZE_DECL
(
AngleRestraint
);
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
*/
44
AngleRestraint
(
Model
*m,
UnaryFunction
* score_func,
ParticleIndexAdaptor
p1,
45
ParticleIndexAdaptor
p2,
ParticleIndexAdaptor
p3);
46
AngleRestraint
() {}
47
48
IMP_OBJECT_METHODS
(
AngleRestraint
);
49
};
50
51
IMPCORE_END_NAMESPACE
52
53
#endif
/* IMPCORE_ANGLE_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.
XYZ.h
Simple XYZ decorator.
IMP::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
Model.h:86
IMP::core::AngleRestraint
Angle restraint between three particles.
Definition:
AngleRestraint.h:27
IMP::core::TripletRestraint
Applies a TripletScore to a Triplet.
Definition:
TripletRestraint.h:31
IMP_OBJECT_SERIALIZE_DECL
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers.
Definition:
object_macros.h:95
TripletRestraint.h
Apply a TripletScore to a Triplet.
IMP::UnaryFunction
Abstract single variable functor class for score functions.
Definition:
UnaryFunction.h:27
AngleTripletScore.h
A Score on the angle between three particles.