IMP logo
IMP Reference Guide  develop.98ef8da184,2024/04/23
The Integrative Modeling Platform
ChildrenRefiner.h
Go to the documentation of this file.
1 /**
2  * \file IMP/core/ChildrenRefiner.h
3  * \brief Return the hierarchy children of a particle.
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPCORE_CHILDREN_REFINER_H
9 #define IMPCORE_CHILDREN_REFINER_H
10 
11 #include <IMP/core/core_config.h>
12 #include "Hierarchy.h"
13 
14 #include <IMP/Refiner.h>
15 
16 IMPCORE_BEGIN_NAMESPACE
17 
18 class HierarchyTraits;
19 
20 //! Return the hierarchy children of a particle.
21 /** \ingroup hierarchy
22  A simple example using is
23  \include cover_particles.py
24  \see Hierarchy
25  \see Hierarchy
26 */
27 class IMPCOREEXPORT ChildrenRefiner : public Refiner {
28 
29  HierarchyTraits traits_;
30 
31  public:
32  //! Create a refiner for a particular type of hierarchy
34 
35  virtual bool get_can_refine(Particle *) const override;
36  virtual const ParticlesTemp get_refined(Particle *) const
37  override;
38 #ifndef SWIG
40 #endif
42  Model *m, const ParticleIndexes &pis) const override;
44 };
45 
46 IMPCORE_END_NAMESPACE
47 
48 #endif /* IMPCORE_CHILDREN_REFINER_H */
Return the hierarchy children of a particle.
Decorator for helping deal with a hierarchy.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
virtual bool get_can_refine(Particle *) const
Return true if this refiner can refine that particle.
Definition: Refiner.h:52
Refine a particle into a list of particles.
Define the type for a type of hierarchy.
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
virtual const ParticlesTemp get_refined(Particle *a) const =0
Refine the passed particle into a set of particles.
Abstract class to implement hierarchical methods.
Definition: Refiner.h:34
Class to handle individual particles of a Model object.
Definition: Particle.h:43