9 #ifndef IMPATOM_LENNARD_JONES_H
10 #define IMPATOM_LENNARD_JONES_H
12 #include <IMP/atom/atom_config.h>
15 IMPATOM_BEGIN_NAMESPACE
30 IMPATOM_DEPRECATED_METHOD_DECL(2.23)
32 Float well_depth = 0) {
33 IMPATOM_DEPRECATED_METHOD_DEF(2.23,
"Use LennardJonesTyped instead");
35 "Particle must already be an XYZR particle");
44 Float get_well_depth()
const {
48 void set_well_depth(
Float well_depth) {
50 get_particle()->set_value(get_well_depth_key(), well_depth);
54 IMPATOM_DEPRECATED_METHOD_DECL(2.23)
56 IMPATOM_DEPRECATED_METHOD_DEF(2.23,
"Use LennardJonesTyped instead");
57 return XYZR::get_is_setup(m, pi) &&
58 m->get_has_attribute(get_well_depth_key(), pi);
61 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.
void add_attribute(TypeKey attribute_key, ParticleIndex particle, Type value)
add particle attribute with the specified key and initial 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.