IMP Reference Guide
2.20.1
The Integrative Modeling Platform
|
XXXX. More...
#include <IMP/npctransport/SlabWithCylindricalPorePairScore.h>
XXXX.
An origin centered slab with a pore in the vertical direction, for z = [-0.5*thickness_...0.5*thickness_]
The score evaluates to 0 for all particles fully beyond z range or fully within slab radius from the origin in the [X,Y] plane For particles that penetrate the slab, the score increases linearly with the magnitude of penetration with a slope k in units of kcal/mol/A. Conseuqently, the gradient is constant and it is oriented so as to repulse the particle towards the nearest point on the slab surface.
Definition at line 31 of file SlabWithCylindricalPorePairScore.h.
Public Member Functions | |
SlabWithCylindricalPorePairScore (double k) | |
virtual ModelObjectsTemp | do_get_inputs (Model *m, const ParticleIndexes &pis) const override |
Overload this method to specify the inputs. More... | |
double | evaluate_if_good_indexes (Model *m, const ParticleIndexPairs &pips, DerivativeAccumulator *da, double max, unsigned int lower_bound, unsigned int upper_bound) const override |
virtual double | evaluate_index (Model *m, const ParticleIndexPair &pip, DerivativeAccumulator *da) const override |
evaluate score for particle pair pip in model m More... | |
virtual double | evaluate_indexes (Model *m, const ParticleIndexPairs &pips, DerivativeAccumulator *da, unsigned int lower_bound, unsigned int upper_bound) const overridefinal |
algebra::Vector3D | get_displacement_direction (SlabWithCylindricalPore const &slab, const algebra::Vector3D &v) const |
returns the direction vector for the displacement of point v relative to the slab surface More... | |
double | get_displacement_magnitude (SlabWithCylindricalPore const &slab, const algebra::Vector3D &v) const |
returns the displacement magnitude of point v relative to the slab surface More... | |
virtual std::string | get_type_name () const override |
virtual ::IMP::VersionInfo | get_version_info () const override |
Get information about the module and version of the object. More... | |
Public Member Functions inherited from IMP::PairScore | |
PairScore (std::string name="PairScore %1%") | |
Restraints | create_current_decomposition (Model *m, const ParticleIndexPair &vt) const |
virtual double | evaluate_if_good_index (Model *m, const ParticleIndexPair &vt, DerivativeAccumulator *da, double max) const |
Compute the score and the derivative if needed, only if "good". More... | |
virtual double | evaluate_indexes_delta (Model *m, const ParticleIndexPairs &o, DerivativeAccumulator *da, const std::vector< unsigned > &indexes, std::vector< double > &score) const |
Compute the change in score and the derivative if needed over a set. More... | |
virtual double | evaluate_indexes_scores (Model *m, const ParticleIndexPairs &o, DerivativeAccumulator *da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double > &score) const |
Compute the score and the derivative if needed over a set. More... | |
Public Member Functions inherited from IMP::ParticleInputs | |
ModelObjectsTemp | get_inputs (Model *m, const ParticleIndexes &pis) const |
Get the ModelObjects read when the given list of particles is used. More... | |
Public Member Functions inherited from IMP::Object | |
virtual void | clear_caches () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
void | set_check_level (CheckLevel l) |
void | set_log_level (LogLevel l) |
Set the logging level used in this object. More... | |
void | set_was_used (bool tf) const |
void | show (std::ostream &out=std::cout) const |
const std::string & | get_name () const |
void | set_name (std::string name) |
Additional Inherited Members | |
Public Types inherited from IMP::PairScore | |
typedef ParticlePair | Argument |
typedef ParticleIndexPair | IndexArgument |
typedef PairModifier | Modifier |
typedef const ParticlePair & | PassArgument |
typedef const ParticleIndexPair & | PassIndexArgument |
Protected Member Functions inherited from IMP::PairScore | |
virtual Restraints | do_create_current_decomposition (Model *m, const ParticleIndexPair &vt) const |
Override this to return your own decomposition. More... | |
Protected Member Functions inherited from IMP::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
IMP::npctransport::SlabWithCylindricalPorePairScore::SlabWithCylindricalPorePairScore | ( | double | k | ) |
Constructs a slab pair score that acts on a SlabWithCylindricalPore particle and a diffusing particle. The slab applies a repulsive force constant k specified in units of kcal/mol/A (linear potential)
|
overridevirtual |
Overload this method to specify the inputs.
Implements IMP::ParticleInputs.
|
overridevirtual |
Evaluate score for particles pis[lower_bound..upper_bound] in model m. If da is not null, use it to accumulate derivatives in model.
Abort early and return maximal double value if score is larger than max (note this assumes all score components are non-negative, which is true for slab score)
Reimplemented from IMP::PairScore.
Definition at line 94 of file SlabWithCylindricalPorePairScore.h.
|
overridevirtual |
evaluate score for particle pair pip in model m
evaluate score for particle pair pip in model m, where the first particle is assumed to be a cylindrical slab. If da is not null, use it to accumulate derivatives in the model.
Implements IMP::PairScore.
Definition at line 159 of file SlabWithCylindricalPorePairScore.h.
|
finaloverridevirtual |
evaluate score for particles pis[lower_bound..upper_bound] in model m. If da is not null, use it to accumulate derivatives in model.
Reimplemented from IMP::PairScore.
Definition at line 192 of file SlabWithCylindricalPorePairScore.h.
algebra::Vector3D IMP::npctransport::SlabWithCylindricalPorePairScore::get_displacement_direction | ( | SlabWithCylindricalPore const & | slab, |
const algebra::Vector3D & | v | ||
) | const |
returns the direction vector for the displacement of point v relative to the slab surface
double IMP::npctransport::SlabWithCylindricalPorePairScore::get_displacement_magnitude | ( | SlabWithCylindricalPore const & | slab, |
const algebra::Vector3D & | v | ||
) | const |
returns the displacement magnitude of point v relative to the slab surface
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 110 of file SlabWithCylindricalPorePairScore.h.