9 #ifndef IMPATOM_CHARGED_H
10 #define IMPATOM_CHARGED_H
12 #include <IMP/atom/atom_config.h>
16 #include <IMP/kernel/internal/constants.h>
21 IMPATOM_BEGIN_NAMESPACE
35 do_setup_particle(m, pi, charge);
40 "Particle must already be an XYZ particle");
53 return XYZ::get_is_setup(m, pi) &&
54 m->get_has_attribute(get_charge_key(), pi);
#define IMP_DECORATOR_SETUP_2(Name, FirstArgumentType, first_argument_name,SecondArgumentType, second_argument_name)
static bool get_is_setup(kernel::Model *m, kernel::ParticleIndex pi)
Return true if the particle is an instance of a Charged.
#define IMP_DECORATOR_METHODS(Name, Parent)
static XYZ setup_particle(kernel::Model *m, ParticleIndex pi)
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
A decorator for a point particle that has an electrostatic charge.
A decorator for a particle with x,y,z coordinates.
double Float
Basic floating-point value (could be float, double...)
void add_attribute(TypeKey attribute_key, ParticleIndex particle, Type value)
#define IMP_DECORATOR_SETUP_1(Name, FirstArgumentType, first_argument_name)
#define IMP_DECORATOR_GET_SET(name, AttributeKey, Type, ReturnType)
Define methods for getting and setting a particular simple field.
#define IMP_DECORATORS(Name, PluralName, Parent)
Define the types for storing sets of decorators.
Class for storing model, its restraints, constraints, and particles.