IMP logo
IMP Reference Guide  2.20.2
The Integrative Modeling Platform
TwoStateGoModelRestraint.h
Go to the documentation of this file.
1 /**
2  * \file IMP/spb/TwoStateGoModelRestraint.h
3  * \brief Two-state Go-Model Restraint
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPSPB_TWO_STATE_GO_MODEL_RESTRAINT_H
9 #define IMPSPB_TWO_STATE_GO_MODEL_RESTRAINT_H
10 
11 #include "IMP/Restraint.h"
12 #include <IMP/spb/spb_config.h>
13 #include <IMP/Particle.h>
14 #include <IMP/base_types.h>
15 #include <map>
16 #include <string>
17 
18 IMPSPB_BEGIN_NAMESPACE
19 
20 //! Two-state Go-Model Restraint
21 class IMPSPBEXPORT TwoStateGoModelRestraint : public Restraint {
22  private:
23  Particles ps_;
24  Float Beta_;
25  Float DeltaV_;
26  std::map<IntPair, Float> native_attrA_;
27  std::map<IntPair, Float> native_attrB_;
28 
29  void set_parameters(Particles psA, Particles psB, Float cutoff);
30  double get_contribution(Float dist, Float dist0) const;
31  double get_native_potential(const std::map<IntPair, Float>& native) const;
32 
33  public:
35  Float Beta, Float Delta, Float Cutoff);
36 
37  virtual double unprotected_evaluate(IMP::DerivativeAccumulator* accum) const
38  override;
39  virtual IMP::ModelObjectsTemp do_get_inputs() const override;
40 
41  // IMP_RESTRAINT(TwoStateGoModelRestraint);
43 };
44 
45 IMPSPB_END_NAMESPACE
46 
47 #endif /* IMPSPB_TWO_STATE_GO_MODEL_RESTRAINT_H */
Basic types used by IMP.
#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.
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
double Float
Basic floating-point value (could be float, double...)
Definition: types.h:19
Abstract base class for all restraints.
Two-state Go-Model Restraint.
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