9 #ifndef IMPATOM_LENNARD_JONES_H
10 #define IMPATOM_LENNARD_JONES_H
12 #include <IMP/atom/atom_config.h>
15 IMPATOM_BEGIN_NAMESPACE
28 Float well_depth = 0) {
30 "Particle must already be an XYZR particle");
39 Float get_well_depth()
const {
43 void set_well_depth(
Float well_depth) {
45 get_particle()->set_value(get_well_depth_key(), well_depth);
50 return XYZR::get_is_setup(m, pi) &&
51 m->get_has_attribute(get_well_depth_key(), pi);
54 static FloatKey get_well_depth_key();
#define IMP_DECORATOR_SETUP_1(Name, FirstArgumentType, first_argument_name)
Class for storing model, its restraints, constraints, and particles.
static bool get_is_setup(Model *m, ParticleIndex pi)
Return true if the particle is an instance of a LennardJones.
void add_attribute(TypeKey attribute_key, ParticleIndex particle, Type value)
#define IMP_DECORATOR_SETUP_0(Name)
A decorator for a particle that has a Lennard-Jones potential well.
Particle * get_particle() const
Returns the particle decorated by this decorator.
#define IMP_DECORATOR_METHODS(Name, Parent)
double Float
Basic floating-point value (could be float, double...)
#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.
Decorator for a sphere-like particle.
A decorator for a particle with x,y,z coordinates and a radius.