IMP logo
IMP Reference Guide  develop.d97d4ead1f,2024/11/21
The Integrative Modeling Platform
UniformBoundedRestraint.h
Go to the documentation of this file.
1 /**
2  * \file IMP/spb/UniformBoundedRestraint.h
3  * \brief A uniform bounded restraint
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPSPB_UNIFORM_BOUNDED_RESTRAINT_H
10 #define IMPSPB_UNIFORM_BOUNDED_RESTRAINT_H
11 #include <IMP/Pointer.h>
12 #include <IMP/isd/Scale.h>
13 #include <IMP/spb/ISDRestraint.h>
14 #include "IMP/Restraint.h"
15 #include <IMP/spb/spb_config.h>
16 
17 IMPSPB_BEGIN_NAMESPACE
18 /** A uniform bounded restraint
19 
20  The source code is as follows:
21  \include UniformBoundedRestraint.h
22  \include UniformBoundedRestraint.cpp
23  */
24 
25 class IMPSPBEXPORT UniformBoundedRestraint
26  : public spb::ISDRestraint {
28  FloatKey fk_;
31 
32  public:
33  //! Create the restraint.
35 
36  /* call for probability */
37  double get_probability() const override;
38 
39  /** This macro declares the basic needed methods: evaluate and show
40  */
41  // IMP_RESTRAINT( UniformBoundedRestraint);
42  //
43  virtual double unprotected_evaluate(IMP::DerivativeAccumulator *accum) const
44  override;
45  IMP::ModelObjectsTemp do_get_inputs() const override;
46 
48 };
49 
50 IMPSPB_END_NAMESPACE
51 
52 #endif /* IMPSPB_UNIFORM_BOUNDED_RESTRAINT_H */
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
virtual double unprotected_evaluate(DerivativeAccumulator *da) const
Return the unweighted score for the restraint.
A decorator for scale parameters particles.
A more IMP-like version of the std::vector.
Definition: Vector.h:50
A smart pointer to a ref-counted Object that is a class member.
Definition: Pointer.h:143
A lognormal restraint that uses the ISPA model to model NOE-derived distance fit. ...
A nullptr-initialized pointer to an IMP Object.
Class to handle individual particles of a Model object.
Definition: Particle.h:43
Abstract base class for all restraints.
Apply an NOE distance restraint between two particles.
virtual ModelObjectsTemp do_get_inputs() const =0
Class for adding derivatives from restraints to the model.