IMP  2.2.1
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-2014 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  double x0_, k_;
28 
29  public:
30  RepulsiveDistancePairScore(double d0, double k);
31 
32  double get_rest_length() const { return x0_; }
33  double get_stiffness() const { return k_; }
34 
35  virtual double evaluate_index(kernel::Model *m,
37  DerivativeAccumulator *da) const IMP_OVERRIDE;
39  kernel::Model *m, const kernel::ParticleIndexes &pis) const IMP_OVERRIDE;
42  ;
43 };
44 
46 
47 IMPISD_END_NAMESPACE
48 
49 #endif /* IMPISD_REPULSIVE_DISTANCE_PAIR_SCORE_H */
Class for adding derivatives from restraints to the model.
A nullptr-initialized pointer to an IMP Object.
#define IMP_PAIR_SCORE_METHODS(Name)
virtual double evaluate_index(kernel::Model *m, const kernel::ParticleIndexPair &vt, DerivativeAccumulator *da) const
Compute the score and the derivative if needed.
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.
Definition: kernel/Model.h:72
Import IMP/kernel/generic.h in the namespace.