IMP logo
IMP Reference Guide  2.16.0
The Integrative Modeling Platform
LeavesRefiner.h
Go to the documentation of this file.
1 /**
2  * \file IMP/core/LeavesRefiner.h
3  * \brief Return the hierarchy leaves under a particle.
4  *
5  * Copyright 2007-2021 IMP Inventors. All rights reserved.
6  */
7 
8 #ifndef IMPCORE_LEAVES_REFINER_H
9 #define IMPCORE_LEAVES_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 leaves under a particle.
21 /** \ingroup hierarchy
22  \see Hierarchy
23  \see Hierarchy
24 */
25 class IMPCOREEXPORT LeavesRefiner : public Refiner {
26  HierarchyTraits traits_;
27 
28  public:
29  //! Create a refiner for a particular type of hierarchy
31 
32  virtual bool get_can_refine(Particle *) const IMP_OVERRIDE;
33  virtual const ParticlesTemp get_refined(Particle *) const
36  Model *m, const ParticleIndexes &pis) const IMP_OVERRIDE;
37 #ifndef SWIG
39 #endif
41 };
42 
43 IMPCORE_END_NAMESPACE
44 
45 #endif /* IMPCORE_LEAVES_REFINER_H */
Decorator for helping deal with a hierarchy.
Return the hierarchy leaves under a particle.
Definition: LeavesRefiner.h:25
#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:73
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:41
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.