IMP  2.2.1
The Integrative Modeling Platform
saxs/RadiusOfGyrationRestraint.h
Go to the documentation of this file.
1 /**
2  * \file IMP/saxs/RadiusOfGyrationRestraint.h
3  * \brief Calculate score based on fit to SAXS profile.
4  *
5  * Copyright 2007-2014 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPSAXS_RADIUS_OF_GYRATION_RESTRAINT_H
10 #define IMPSAXS_RADIUS_OF_GYRATION_RESTRAINT_H
11 
12 #include <IMP/saxs/saxs_config.h>
13 
14 #include <IMP/saxs/Profile.h>
15 
16 #include <IMP/kernel/Model.h>
17 #include <IMP/kernel/Restraint.h>
18 #include <IMP/base/Object.h>
19 
20 IMPSAXS_BEGIN_NAMESPACE
21 
22 //! Calculate score based on radius of gyration, taken from saxs profile
23 /** \ingroup exp_restraint
24 
25  */
26 class IMPSAXSEXPORT RadiusOfGyrationRestraint : public kernel::Restraint {
27  public:
28  //! Constructor
29  /**
30  \param[in] particles The particles participating in the fitting score
31  \param[in] exp_profile The experimental profile used in the fitting score
32  \param[in] end_q_rg The range of profile used for approximation:
33  i.e. q*rg < end_q_rg. Use 1.3 for globular proteins, 0.8 for elongated
34  */
36  const Profile* exp_profile,
37  const double end_q_rg = 1.3);
38 
39  virtual double unprotected_evaluate(IMP::kernel::DerivativeAccumulator* accum)
40  const IMP_OVERRIDE;
41  virtual IMP::kernel::ModelObjectsTemp do_get_inputs() const IMP_OVERRIDE;
43 
44  private:
45  kernel::Particles particles_; // non-rigid bodies particles
46  double exp_rg_; // radius of gyration from experimental profile
47 };
48 
49 IMPSAXS_END_NAMESPACE
50 
51 #endif /* IMPSAXS_RADIUS_OF_GYRATION_RESTRAINT_H */
Class for adding derivatives from restraints to the model.
Calculate score based on radius of gyration, taken from saxs profile.
Abstract base class for all restraints.
A restraint is a term in an IMP ScoringFunction.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Storage of a model, its restraints, constraints and particles.
virtual ModelObjectsTemp do_get_inputs() const =0
A shared base class to help in debugging and things.
A class for profile storing and computation.