IMP logo
IMP Reference Guide  2.14.0
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-2020 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>
13 
14 #include <IMP/UnaryFunction.h>
15 #include <IMP/Restraint.h>
16 #include <IMP/Particle.h>
17 #include <IMP/generic.h>
18 
19 IMPCORE_BEGIN_NAMESPACE
20 
21 //! Dihedral restraint between four particles
22 class IMPCOREEXPORT DihedralRestraint : public Restraint {
23  public:
24  //! Create the dihedral restraint.
25  /** \param[in] m Model.
26  \param[in] score_func Scoring function for the restraint.
27  \param[in] p1 First particle in dihedral restraint.
28  \param[in] p2 Second particle in dihedral restraint.
29  \param[in] p3 Third particle in dihedral restraint.
30  \param[in] p4 Fourth particle in dihedral restraint.
31  */
32  DihedralRestraint(Model *m, UnaryFunction* score_func,
37 
38  virtual double unprotected_evaluate(IMP::DerivativeAccumulator* accum)
39  const IMP_OVERRIDE;
42 
43  private:
45  ParticleIndex p_[4];
46 };
47 
48 IMPCORE_END_NAMESPACE
49 
50 #endif /* IMPCORE_DIHEDRAL_RESTRAINT_H */
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Single variable function.
Dihedral restraint between four particles.
A more IMP-like version of the std::vector.
Definition: Vector.h:39
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:72
A smart pointer to a ref-counted Object that is a class member.
Definition: Pointer.h:146
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
Abstract base class for all restraints.
Abstract single variable functor class for score functions.
Definition: UnaryFunction.h:25
virtual ModelObjectsTemp do_get_inputs() const =0
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Class for adding derivatives from restraints to the model.
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:54
Various important functionality for implementing decorators.