home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
core
version 20241221.develop.63b38c487d
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.