23 #include <basic/Tracer.hh>
28 #include <utility/tag/Tag.hh>
30 #include <utility/vector0.hh>
31 #include <utility/excn/Exceptions.hh>
32 #include <utility/vector1.hh>
39 static basic::Tracer
TR(
"protocols.simple_moves.MonteCarloRecover");
44 namespace simple_moves {
47 MonteCarloRecoverCreator::keyname()
const
49 return MonteCarloRecoverCreator::mover_name();
53 MonteCarloRecoverCreator::create_mover()
const {
58 MonteCarloRecoverCreator::mover_name()
60 return "MonteCarloRecover";
64 MonteCarloRecover::get_name()
const {
65 return MonteCarloRecoverCreator::mover_name();
70 MonteCarloRecover::MonteCarloRecover():
71 Mover(
"MonteCarloRecover"),
107 Movers_map::const_iterator find_mover( movers.find( mc_name ) );
108 if( find_mover == movers.end() )
109 throw utility::excn::EXCN_RosettaScriptsOption(
"MC mover not found by MonteCarloRecover" );
111 set_MC( dynamic_cast< GenericMonteCarloMover * >( find_mover->second() ) );
112 recover_low( tag->getOption<
bool >(
"recover_low",
true ) );
113 Pose temp_pose( pose );
115 get_MC()->reset( temp_pose );
116 TR<<
"Setting MonteCarloRecover with mover "<<mc_name<<
" and recover_low set to "<<
recover_low()<<std::endl;
124 pose = *(
MC_mover_->last_accepted_pose());