void Optimizer::set_is_optimizing_states(bool tf) const { IMP_LOG_VERBOSE("Reseting OptimizerStates " << std::flush); for (OptimizerStateConstIterator it = optimizer_states_begin(); it != optimizer_states_end(); ++it) { IMP_CHECK_OBJECT(*it); (*it)->set_is_optimizing(tf); IMP_LOG_VERBOSE("." << std::flush); } IMP_LOG_VERBOSE("done." << std::endl); }
void Optimizer::update_states() const { IMP_LOG_VERBOSE( "Updating OptimizerStates " << std::flush); for (OptimizerStateConstIterator it = optimizer_states_begin(); it != optimizer_states_end(); ++it) { IMP_CHECK_OBJECT(*it); (*it)->update(); IMP_LOG_VERBOSE( "." << std::flush); } IMP_LOG_VERBOSE( "done." << std::endl); }
void Optimizer::update_states() const { IMP_LOG_VERBOSE("Updating OptimizerStates " << std::flush); BOOST_FOREACH(ScoreState * ss, get_required_score_states()) { ss->before_evaluate(); } for (OptimizerStateConstIterator it = optimizer_states_begin(); it != optimizer_states_end(); ++it) { IMP_CHECK_OBJECT(*it); (*it)->update(); IMP_LOG_VERBOSE("." << std::flush); } IMP_LOG_VERBOSE("done." << std::endl); }
void MolecularDynamics::setup_degrees_of_freedom( const ParticleIndexes &ps) { degrees_of_freedom_ = 3 * ps.size(); // If global rotation and translation have been removed, reduce degrees // of freedom accordingly (kind of ugly...) for (OptimizerStateIterator o = optimizer_states_begin(); o != optimizer_states_end(); ++o) { OptimizerState *os = *o; if (dynamic_cast<RemoveRigidMotionOptimizerState *>(os)) { degrees_of_freedom_ -= 6; break; } } }