9 #ifndef IMPKINEMATICS_KINEMATIC_FOREST_SCORE_STATE_H
10 #define IMPKINEMATICS_KINEMATIC_FOREST_SCORE_STATE_H
12 #include "kinematics_config.h"
18 IMPKINEMATICS_BEGIN_NAMESPACE
24 return rbs[0].get_model();
25 else if (!atoms.empty())
26 return atoms[0]->get_model();
28 IMP_FAILURE(
"No particles passed to KinematicForestScoreState");
47 :
ScoreState(extract_model(rbs, atoms),
"KinematicForestScoreState%1%"),
53 void do_before_evaluate() { kf_->update_all_external_coordinates(); }
67 IMPKINEMATICS_END_NAMESPACE
#define IMP_FAILURE(message)
A runtime failure for IMP.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
IMP::Vector< IMP::WeakPointer< ModelObject > > ModelObjectsTemp
Various general useful macros for IMP.
#define IMP_UNUSED(variable)
ScoreStates maintain invariants in the Model.
functionality for defining rigid bodies
virtual ModelObjectsTemp do_get_outputs() const =0
Wrapper class for a kinematic forest (collection of trees) made of KinematicNode objects, interconnected by joints. This data structure allows for kinematic control of the tree and interconversion between internal and external coordinates.
virtual ModelObjectsTemp do_get_inputs() const =0
Class for adding derivatives from restraints to the model.