IMP logo
IMP Reference Guide  develop.1a86c4215a,2024/04/24
The Integrative Modeling Platform
RigidLeavesRefiner.h
Go to the documentation of this file.
1 /**
2  * \file IMP/multifit/RigidLeavesRefiner.h
3  * \brief Return all rigid body members that are also hierarchy leaves.
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPMULTIFIT_RIGID_LEAVES_REFINER_H
10 #define IMPMULTIFIT_RIGID_LEAVES_REFINER_H
11 
12 #include <IMP/Refiner.h>
13 #include <IMP/multifit/multifit_config.h>
14 
15 IMPMULTIFIT_BEGIN_NAMESPACE
16 
17 //! Return all rigid body members that are also hierarchy leaves.
18 class IMPMULTIFITEXPORT RigidLeavesRefiner : public Refiner {
19  public:
20  RigidLeavesRefiner(std::string name = "RigidLeavesRefiner%d")
21  : Refiner(name) {}
22  virtual bool get_can_refine(Particle *) const override;
23 #ifndef SWIG
25 #endif
26  virtual const ParticlesTemp get_refined(Particle *) const override;
28  Model *m, const ParticleIndexes &pis) const override;
30 };
31 
32 IMPMULTIFIT_END_NAMESPACE
33 
34 #endif /* IMPMULTIFIT_RIGID_LEAVES_REFINER_H */
Refiner(std::string name="Refiner %1%", bool is_by_ref=false)
Constructs the refiner.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
Return all rigid body members that are also hierarchy leaves.
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.
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