9 #ifndef IMPATOM_TAMD_PARTICLE_H
10 #define IMPATOM_TAMD_PARTICLE_H
12 #include <IMP/atom/atom_config.h>
17 #include <IMP/internal/constants.h>
22 IMPATOM_BEGIN_NAMESPACE
56 "reference particle must be of same model");
57 do_setup_particle(m, pi, p_ref->
get_index(), tsf, fsf);
104 m->get_has_attribute(get_reference_particle_index_key(), p) &&
105 m->get_has_attribute(get_temperature_scale_factor_key(), p) &&
106 m->get_has_attribute(get_friction_scale_factor_key(), p);
120 get_particle()->set_value(get_temperature_scale_factor_key(), tsf);
133 get_particle()->set_value(get_friction_scale_factor_key(), tsf);
151 void update_coordinates_from_ref();
154 static FloatKey get_temperature_scale_factor_key();
157 static FloatKey get_friction_scale_factor_key();
167 IMPATOM_END_NAMESPACE
static bool get_is_setup(Model *m, ParticleIndex p)
Return true if the particle is an instance of an TAMDParticle.
The base class for decorators.
double get_temperature_scale_factor() const
ParticleIndex get_particle_index() const
Returns the particle index decorated by this decorator.
A decorator for a diffusing particle.
Model * get_model() const
Returns the Model containing the particle.
void set_friction_scale_factor(float tsf)
ParticleIndex get_reference_particle_index() const
void set_temperature_scale_factor(float tsf)
Class for storing model, its restraints, constraints, and particles.
double get_friction_scale_factor() const
Particle * get_particle() const
Returns the particle decorated by this decorator.
Interface to specialized Particle types (e.g. atoms)
#define IMP_DECORATOR_METHODS(Name, Parent)
double Float
Basic floating-point value (could be float, double...)
Class to handle individual model particles.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
#define IMP_DECORATORS(Name, PluralName, Parent)
Define the types for storing sets of decorators.
ParticleIndex get_index() const
returns the particle index of this particle in its model
#define IMP_DECORATOR_SETUP_3(Name, FirstArgumentType, first_argument_name,SecondArgumentType, second_argument_name,ThirdArgumentType, third_argument_name)
Type get_attribute(TypeKey attribute_key, ParticleIndex particle)