IMP logo
IMP Reference Guide  develop.e004443c3b,2024/04/25
The Integrative Modeling Platform
IMP::npctransport::SlabWithCylindricalPorePairScore Class Reference

XXXX. More...

#include <IMP/npctransport/SlabWithCylindricalPorePairScore.h>

+ Inheritance diagram for IMP::npctransport::SlabWithCylindricalPorePairScore:

Detailed Description

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 ParticlePairPassArgument
 
typedef const ParticleIndexPairPassIndexArgument
 
- 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 ()
 

Constructor & Destructor Documentation

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)

Member Function Documentation

virtual ModelObjectsTemp IMP::npctransport::SlabWithCylindricalPorePairScore::do_get_inputs ( Model m,
const ParticleIndexes pis 
) const
overridevirtual

Overload this method to specify the inputs.

Implements IMP::ParticleInputs.

double IMP::npctransport::SlabWithCylindricalPorePairScore::evaluate_if_good_indexes ( Model m,
const ParticleIndexPairs pips,
DerivativeAccumulator da,
double  max,
unsigned int  lower_bound,
unsigned int  upper_bound 
) const
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.

+ Here is the call graph for this function:

double IMP::npctransport::SlabWithCylindricalPorePairScore::evaluate_index ( Model m,
const ParticleIndexPair pip,
DerivativeAccumulator da 
) const
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.

+ Here is the call graph for this function:

double IMP::npctransport::SlabWithCylindricalPorePairScore::evaluate_indexes ( Model m,
const ParticleIndexPairs pips,
DerivativeAccumulator da,
unsigned int  lower_bound,
unsigned int  upper_bound 
) const
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.

+ Here is the call graph for this function:

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

virtual ::IMP::VersionInfo IMP::npctransport::SlabWithCylindricalPorePairScore::get_version_info ( ) const
overridevirtual

Get information about the module and version of the object.

Reimplemented from IMP::Object.

Definition at line 110 of file SlabWithCylindricalPorePairScore.h.


The documentation for this class was generated from the following file: