IMP logo
IMP Reference Guide  develop.27926d84dc,2024/04/18
The Integrative Modeling Platform
DistanceTerminiRestraint.h
Go to the documentation of this file.
1 /**
2  * \file IMP/spb/DistanceTerminiRestraint.h
3  * \brief A distance restraint between protein termini.
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPSPB_DISTANCE_TERMINI_RESTRAINT_H
9 #define IMPSPB_DISTANCE_TERMINI_RESTRAINT_H
10 
11 #include <IMP/Restraint.h>
12 #include <IMP/isd/Scale.h>
13 #include <IMP/spb/spb_config.h>
14 
15 IMPSPB_BEGIN_NAMESPACE
16 
17 //! A distance restraint between protein termini.
18 /** The distance between the termini is a sampled ISD particle.
19  */
20 class IMPSPBEXPORT DistanceTerminiRestraint : public IMP::Restraint {
23  double sigma0_dist_;
24  IMP::Pointer<IMP::Particle> reqd_dist_term_;
25 
26  public:
27  //! Restrains the distance between the termini of a protein.
28  /** The distance between termini is a sampled parameter that changes
29  from step to step.
30  */
31 
33  IMP::Particle* reqd_dist_term, double sigma0_dist);
34 
35  // get the distance between termini in current model
36  double get_model_termini_distance() const;
37 
38  /** This macro declares the basic needed methods: evaluate and show
39  */
40  virtual double unprotected_evaluate(IMP::DerivativeAccumulator* accum) const
41  override;
42  virtual IMP::ModelObjectsTemp do_get_inputs() const override;
44 
45  private:
46 };
47 
48 IMPSPB_END_NAMESPACE
49 
50 #endif /* IMPSPB_DISTANCE_TERMINI_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
Class to handle individual particles of a Model object.
Definition: Particle.h:43
Abstract base class for all restraints.
A distance restraint between protein termini.
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