IMP  2.1.0
The Integrative Modeling Platform
RepulsiveDistancePairScore.h
Go to the documentation of this file.
1 /**
2  * \file IMP/isd/RepulsiveDistancePairScore.h
3  * \brief A simple quadric repulsive term between two atoms. Restraint is zero
4  * when the distance equals the sum of the radii plus the shift.
5  *
6  * Copyright 2007-2013 IMP Inventors. All rights reserved.
7  */
8 
9 #ifndef IMPISD_REPULSIVE_DISTANCE_PAIR_SCORE_H
10 #define IMPISD_REPULSIVE_DISTANCE_PAIR_SCORE_H
11 
12 #include <IMP/isd/isd_config.h>
13 #include <IMP/core/XYZR.h>
14 #include <IMP/PairScore.h>
15 #include <IMP/base/Pointer.h>
16 #include <IMP/generic.h>
17 
18 IMPISD_BEGIN_NAMESPACE
19 
20 //! A repulsive potential on the distance between two atoms
21 /** \see XYZR
22  \see SphereDistancePairScore
23  \see DistancePairScore
24  \see LennardJonesPairScore
25  */
26 class IMPISDEXPORT RepulsiveDistancePairScore : public PairScore
27 {
28  double x0_, k_;
29 public:
30 
31  RepulsiveDistancePairScore(double d0, double k);
32 
33  double get_rest_length() const {
34  return x0_;
35  }
36  double get_stiffness() const {
37  return k_;
38  }
39 
40  virtual double evaluate_index(kernel::Model *m,
43  const IMP_OVERRIDE;
45  const kernel::ParticleIndexes &pis)
46  const IMP_OVERRIDE;
49 };
50 
51 
53 
54 IMPISD_END_NAMESPACE
55 
56 #endif /* IMPISD_REPULSIVE_DISTANCE_PAIR_SCORE_H */
Class for adding derivatives from restraints to the model.
A nullptr-initialized pointer to an IMP Object.
virtual double evaluate_index(kernel::Model *m, const ParticleIndexPair &vt, DerivativeAccumulator *da) const
Compute the score and the derivative if needed.
#define IMP_PAIR_SCORE_METHODS(Name)
A class to store an fixed array of same-typed values.
Definition: base/Array.h:33
Abstract score function.
virtual ModelObjectsTemp do_get_inputs(kernel::Model *m, const ParticleIndexes &pis) const
Import IMP/kernel/PairScore.h in the namespace.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Decorator for a sphere-like particle.
A repulsive potential on the distance between two atoms.
Class for storing model, its restraints, constraints, and particles.
Import IMP/kernel/generic.h in the namespace.