IMP  2.1.0
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-2013 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 {
28  public:
29  //! Constructor
30  /**
31  \param[in] particles The particles participating in the fitting score
32  \param[in] exp_profile The experimental profile used in the fitting score
33  \param[in] end_q_rg The range of profile used for approximation:
34  i.e. q*rg < end_q_rg. Use 1.3 for globular proteins, 0.8 for elongated
35  */
37  const Profile* exp_profile, const double end_q_rg=1.3);
38 
39  virtual double
40  unprotected_evaluate(IMP::kernel::DerivativeAccumulator *accum)
41  const IMP_OVERRIDE;
42  virtual IMP::kernel::ModelObjectsTemp do_get_inputs() const IMP_OVERRIDE;
44 
45  private:
46  kernel::Particles particles_; // non-rigid bodies particles
47  double exp_rg_; //radius of gyration from experimental profile
48 };
49 
50 IMPSAXS_END_NAMESPACE
51 
52 #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.