IMP  2.0.0
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-2013 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 "TripletRestraint.h"
17 #include <IMP/Pointer.h>
18 #include <IMP/UnaryFunction.h>
19 
20 IMPCORE_BEGIN_NAMESPACE
21 
22 //! Angle restraint between three particles
23 /** \see AngleTripletScore
24  */
25 class IMPCOREEXPORT AngleRestraint : public TripletRestraint
26 {
27 public:
28  //! Create the angle restraint.
29  /** \param[in] score_func Scoring function for the restraint.
30  \param[in] p1 Pointer to first particle in angle restraint.
31  \param[in] p2 Pointer to second particle in angle restraint.
32  \param[in] p3 Pointer to third particle in angle restraint.
33  */
34  AngleRestraint(UnaryFunction* score_func,
35  Particle* p1, Particle* p2, Particle* p3);
36 
37  AngleRestraint(UnaryFunction* score_func,
38  XYZ p0, XYZ p1, XYZ p2);
39 
41 };
42 
43 IMPCORE_END_NAMESPACE
44 
45 #endif /* IMPCORE_ANGLE_RESTRAINT_H */