9 #ifndef IMPATOM_DIFFUSION_H 
   10 #define IMPATOM_DIFFUSION_H 
   12 #include <IMP/atom/atom_config.h> 
   16 #include <IMP/internal/constants.h> 
   21 IMPATOM_BEGIN_NAMESPACE
 
   39     if(!XYZ::get_is_setup(m,pi))
 
   47     if(XYZ::get_is_setup(m,pi))
 
   49   XYZ(m,pi).set_coordinates(v);
 
   55     do_setup_particle(m, pi, D);
 
   99       XYZ::get_is_setup(m, p);
 
  103     get_particle()->set_value(get_diffusion_coefficient_key(), d);
 
  112   static FloatKey get_diffusion_coefficient_key();
 
  115 IMPATOMEXPORT 
double get_diffusion_coefficient_from_cm2_per_second(
double din);
 
  162       (get_rotational_diffusion_coefficient_key(),
 
  169     return get_particle()->set_value(get_rotational_diffusion_coefficient_key(),
 
  176       Diffusion::get_is_setup(m, p);
 
  180   static FloatKey get_rotational_diffusion_coefficient_key();
 
  183 IMP_DECORATORS(RigidBodyDiffusion, RigidBodyDiffusions, Diffusions);
 
  185 IMPATOM_END_NAMESPACE
 
ParticleIndex get_particle_index() const 
Returns the particle index decorated by this decorator. 
 
static bool get_is_setup(Model *m, ParticleIndex p)
Return true if the particle is an instance of an RigidBodyDiffusion. 
 
#define IMP_DECORATOR_SETUP_1(Name, FirstArgumentType, first_argument_name)
 
Model * get_model() const 
Returns the Model containing the particle. 
 
static XYZ setup_particle(Model *m, ParticleIndex pi)
 
double get_diffusion_coefficient() const 
get diffusion coefficient in  
 
Class for storing model, its restraints, constraints, and particles. 
 
void set_rotational_diffusion_coefficient(double d) const 
sets the rotational diffusion coefficient in  
 
void set_diffusion_coefficient(double d)
set diffusion coefficient in  
 
void add_attribute(TypeKey attribute_key, ParticleIndex particle, Type value)
add particle attribute with the specified key and initial value 
 
#define IMP_DECORATOR_SETUP_2(Name, FirstArgumentType, first_argument_name,SecondArgumentType, second_argument_name)
 
A decorator for a particle with x,y,z coordinates. 
 
#define IMP_DECORATOR_SETUP_0(Name)
 
static bool get_is_setup(Model *m, ParticleIndex p)
Return true if the particle is an instance of Diffusion. 
 
Particle * get_particle() const 
Returns the particle decorated by this decorator. 
 
#define IMP_DECORATOR_METHODS(Name, Parent)
 
double get_rotational_diffusion_coefficient() const 
returns the rotational diffusion coefficient in  
 
double Float
Basic floating-point value (could be float, double...) 
 
#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 
 
A decorator for a diffusing particle with a diffusion coefficient. 
 
Type get_attribute(TypeKey attribute_key, ParticleIndex particle)
get the value of the particle attribute with the specified key 
 
Decorator for a sphere-like particle.