IMP logo
IMP Reference Guide  develop.cb6747d2d1,2024/03/28
The Integrative Modeling Platform
DiameterRgyrRestraint.h
Go to the documentation of this file.
1 /**
2  * \file IMP/spb/DiameterRgyrRestraint.h
3  * \brief Diameter Restraint
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPSPB_DIAMETER_RGYR_RESTRAINT_H
9 #define IMPSPB_DIAMETER_RGYR_RESTRAINT_H
10 
11 #include "IMP/Restraint.h"
12 #include <IMP/spb/spb_config.h>
13 #include <IMP/Particle.h>
14 #include <IMP/base_types.h>
15 #include <map>
16 #include <string>
17 
18 IMPSPB_BEGIN_NAMESPACE
19 
20 //! Diameter and radius of gyration Restraint
21 /** Restraint to fix the diameter based on radius of gyration from SAXS
22 
23  */
24 class IMPSPBEXPORT DiameterRgyrRestraint : public Restraint {
25  private:
26  Particles ps_;
27  Float diameter_;
28  Float rgyr_;
29  Float kappa_;
30 
31  public:
32  DiameterRgyrRestraint(Particles ps, Float diameter, Float rgyr, Float kappa);
33 
34  virtual double unprotected_evaluate(IMP::DerivativeAccumulator *accum) const
35  override;
36  IMP::ModelObjectsTemp do_get_inputs() const override;
37 
39 };
40 
41 IMPSPB_END_NAMESPACE
42 
43 #endif /* IMPSPB_DIAMETER_RGYR_RESTRAINT_H */
Basic types used by IMP.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Diameter and radius of gyration Restraint.
virtual double unprotected_evaluate(DerivativeAccumulator *da) const
Return the unweighted score for the restraint.
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
double Float
Basic floating-point value (could be float, double...)
Definition: types.h:19
Abstract base class for all restraints.
virtual ModelObjectsTemp do_get_inputs() const =0
Class for adding derivatives from restraints to the model.
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56