IMP  2.4.0
The Integrative Modeling Platform
SigmoidRestraintSphere.h
Go to the documentation of this file.
1 /**
2  * \file IMP/pmi/SigmoidRestraintSphere.h
3  * \brief Simple sigmoidal score calculated between sphere surfaces.
4  *
5  * Copyright 2007-2015 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPPMI_SIGMOID_RESTRAINT_SPHERE_H
10 #define IMPPMI_SIGMOID_RESTRAINT_SPHERE_H
11 #include "pmi_config.h"
12 #include <IMP/Restraint.h>
14 
15 
16 IMPPMI_BEGIN_NAMESPACE
17 
18 //! Simple sigmoidal score calculated between sphere surfaces.
19 class IMPPMIEXPORT SigmoidRestraintSphere : public Restraint
20 {
23  double inflection_;
24  double slope_;
25  double amplitude_;
26  double line_slope_;
27 
28 
29 
30 public:
31 
32 
33  //! Create the restraint.
37  double inflection, double slope,
38  double amplitude, double line_slope_=0,
39  std::string name="SigmoidRestraintSphere%1%");
40 
41  void set_amplitude(double amplitude){amplitude_=amplitude;}
42  void increment_amplitude(double amplitude){amplitude_=amplitude_+amplitude;}
43  double get_amplitude(){return amplitude_;}
44 
45  virtual double
46  unprotected_evaluate(IMP::kernel::DerivativeAccumulator *accum)
47  const IMP_OVERRIDE;
50 
51 
52 };
53 
54 IMPPMI_END_NAMESPACE
55 
56 #endif /* IMPPMI_SIGMOID_RESTRAINT_SPHERE_H */
Various general useful functions for IMP.
Class for adding derivatives from restraints to the model.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
A restraint is a term in an IMP ScoringFunction.
Simple sigmoidal score calculated between sphere surfaces.
virtual ModelObjectsTemp do_get_inputs() const =0
Import IMP/kernel/Restraint.h in the namespace.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Class for storing model, its restraints, constraints, and particles.
Definition: kernel/Model.h:73