IMP  2.3.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-2014 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/kernel/Restraint.h>
16 #include <IMP/kernel/Particle.h>
17 #include <IMP/generic.h>
18 
19 IMPCORE_BEGIN_NAMESPACE
20 
21 //! Dihedral restraint between four particles
22 class IMPCOREEXPORT DihedralRestraint : public kernel::Restraint {
23  public:
24  //! Create the dihedral restraint.
25  /** \param[in] score_func Scoring function for the restraint.
26  \param[in] p1 Pointer to first particle in dihedral restraint.
27  \param[in] p2 Pointer to second particle in dihedral restraint.
28  \param[in] p3 Pointer to third particle in dihedral restraint.
29  \param[in] p4 Pointer to fourth particle in dihedral restraint.
30  */
33  kernel::Particle* p4);
34 
35  virtual double unprotected_evaluate(IMP::kernel::DerivativeAccumulator* accum)
36  const IMP_OVERRIDE;
39 
40  private:
43 };
44 
45 IMPCORE_END_NAMESPACE
46 
47 #endif /* IMPCORE_DIHEDRAL_RESTRAINT_H */
Class for adding derivatives from restraints to the model.
A smart pointer to a ref-counted Object that is a class member.
Definition: Pointer.h:147
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Import IMP/kernel/UnaryFunction.h in the namespace.
Dihedral restraint between four particles.
Abstract single variable functor class for score functions.
Abstract base class for all restraints.
A restraint is a term in an IMP ScoringFunction.
Class to handle individual model particles.
Classes to handle individual model particles. (Note that implementation of inline functions in in int...
virtual ModelObjectsTemp do_get_inputs() const =0
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Import IMP/kernel/generic.h in the namespace.