8 #ifndef IMPATOM_CHAIN_H
9 #define IMPATOM_CHAIN_H
11 #include <IMP/atom/atom_config.h>
16 IMPATOM_BEGIN_NAMESPACE
27 if (!Hierarchy::particle_is_instance(m, pi)) {
28 Hierarchy::setup_particle(m, pi);
33 return setup_particle(p->get_model(),
38 p->add_attribute(get_id_key(), o.
get_id());
39 if (!Hierarchy::particle_is_instance(p)) {
40 Hierarchy::setup_particle(p);
47 return p->has_attribute(get_id_key())
53 return static_cast<char>(
get_particle()->get_value(get_id_key()));
62 static IntKey get_id_key();