10 #ifndef IMPNPCTRANSPORT_RELAXING_SPRING_H 
   11 #define IMPNPCTRANSPORT_RELAXING_SPRING_H 
   13 #include "npctransport_config.h" 
   18 IMPNPCTRANSPORT_BEGIN_NAMESPACE
 
   25 class IMPNPCTRANSPORTEXPORT
 
   43                                 double equilibrium_rest_length_factor,
 
   44                                 double rest_length_diffusion_coefficient);
 
   66                         double, equilibrium_rest_length_factor,
 
   67                         double, rest_length_diffusion_coefficient);
 
   81   static FloatKey get_equilibrium_rest_length_factor_key();
 
   84   static FloatKey get_rest_length_key();
 
   87   static FloatKey get_rest_length_diffusion_coefficient_key();
 
   89   Particle* get_bonded_particle_0()
 const{
 
   91     return this_p->get_value(get_bonded_particle_0_key());
 
   94   Particle* get_bonded_particle_1()
 const{
 
   96     return this_p->get_value(get_bonded_particle_1_key());
 
  100     return get_bonded_particle_0()->get_index();
 
  104     return get_bonded_particle_1()->get_index();
 
  109       get_equilibrium_rest_length_factor_key(),
 
  113       get_rest_length_key(),
 
  117       get_rest_length_diffusion_coefficient_key(),
 
  120   void add_to_rest_length_derivative
 
  123     get_model()->add_to_derivative( get_rest_length_key(),
 
  129   double get_rest_length_derivative()
 
  131     return get_model()->get_derivative( get_rest_length_key(),
 
  141 IMPNPCTRANSPORT_END_NAMESPACE
 
The base class for decorators. 
 
#define IMP_DECORATOR_GET_SET(name, AttributeKey, Type, ReturnType)
Define methods for getting and setting a particular simple field. 
 
ParticleIndex get_particle_index() const 
Returns the particle index decorated by this decorator. 
 
static bool get_is_setup(Model *m, ParticleIndex pi)
Return true if the particle is an instance of an Transporting. 
 
Model * get_model() const 
Returns the Model containing the particle. 
 
Index< ParticleIndexTag > ParticleIndex
 
Class for storing model, its restraints, constraints, and particles. 
 
Helper macros for implementing Decorators. 
 
#define IMP_DECORATOR_SETUP_4(Name, FirstArgumentType, first_argument_name,SecondArgumentType, second_argument_name,ThirdArgumentType, third_argument_name,FourthArgumentType, fourth_argument_name)
 
A decorator for a spring particle connecting two diffusing particles. 
 
Particle * get_particle() const 
Returns the particle decorated by this decorator. 
 
Interface to specialized Particle types (e.g. atoms) 
 
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
 
#define IMP_DECORATOR_METHODS(Name, Parent)
 
double Float
Basic floating-point value (could be float, double...) 
 
Class to handle individual particles of a Model object. 
 
#define IMP_DECORATORS(Name, PluralName, Parent)
Define the types for storing sets of decorators. 
 
bool get_has_attribute(TypeKey attribute_key, ParticleIndex particle) const 
return true if particle has attribute with the specified key 
 
Class for adding derivatives from restraints to the model.