9 #ifndef IMPATOM_CHARMM_ATOM_H
10 #define IMPATOM_CHARMM_ATOM_H
12 #include <IMP/atom/atom_config.h>
21 IMPATOM_BEGIN_NAMESPACE
28 "Particle must already be an Atom particle");
43 return Atom::get_is_setup(m, pi) &&
44 m->get_has_attribute(get_charmm_type_key(), pi);
void remove_charmm_untyped_atoms(Hierarchy hierarchy)
Remove any atom from the Hierarchy that does not have a CHARMM type.
#define IMP_DECORATOR_METHODS(Name, Parent)
static bool get_is_setup(kernel::Model *m, kernel::ParticleIndex pi)
Return true if the particle is an instance of a CHARMMAtom.
Various general useful macros for IMP.
Atoms get_charmm_untyped_atoms(Hierarchy hierarchy)
Get all atoms in the Hierarchy that do not have CHARMM types.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
Decorator for helping deal with a hierarchy of molecules.
A decorator for a particle representing an atom.
void add_attribute(TypeKey attribute_key, ParticleIndex particle, Type value)
#define IMP_DECORATOR_SETUP_1(Name, FirstArgumentType, first_argument_name)
std::string String
Basic string value.
#define IMP_DECORATOR_GET_SET(name, AttributeKey, Type, ReturnType)
Define methods for getting and setting a particular simple field.
A decorator for an atom that has a defined CHARMM type.
Class for storing model, its restraints, constraints, and particles.