21 #include <utility/exit.hh>
22 #include <utility/tag/Tag.hh>
24 #include <utility/vector0.hh>
25 #include <utility/vector1.hh>
26 #include <utility/excn/Exceptions.hh>
27 #include <basic/Tracer.hh>
33 static basic::Tracer
TR(
"protocols.moves.MoverFactory" );
66 runtime_assert( creator );
68 if ( mover_type ==
"UNDEFINED NAME" ) {
69 throw utility::excn::EXCN_RosettaScriptsOption(
"Can't map derived Mover with undefined type name.");
72 throw utility::excn::EXCN_RosettaScriptsOption(
"Name "+mover_type+
" is not an allowed mover name, probably because it has historical meaning.");
75 throw utility::excn::EXCN_RosettaScriptsOption(
"MoverFactory::factory_register already has a mover creator with name \"" + mover_type +
"\". Conflicting Mover names" );
87 if ( ! iter->second ) {
88 throw utility::excn::EXCN_RosettaScriptsOption(
"Error: MoverCreatorOP prototype for " + mover_type +
" is NULL!" );
93 return iter->second->create_mover();
96 TR<<
"Available movers: ";
98 TR<<mover_it->first<<
", ";
100 throw utility::excn::EXCN_RosettaScriptsOption( mover_type +
" is not known to the MoverFactory. Was it registered via a MoverRegistrator in one of the init.cc files (devel/init.cc or protocols/init.cc)?" );
115 runtime_assert( mover );
116 mover->parse_my_tag( tag, data, filters, movers, pose );