26 #include <basic/Tracer.hh>
35 #include <utility/vector1.hh>
38 #include <ObjexxFCL/FArray1D.hh>
41 #include <numeric/random/random.hh>
42 #include <numeric/xyz.functions.hh>
53 static numeric::random::RandomGenerator
RG(1277320);
64 rna_loop_closer_( rna_loop_closer )
66 Mover::type(
"MultipleDomainMover");
82 return "MultipleDomainMover";
128 Vector cen( 0.0, 0.0, 0.0 );
145 using namespace core::kinematics;
156 Vector new_translation = j.get_translation() - stub.M.transposed() * cen;
157 j.set_translation( new_translation);
171 using namespace protocols::moves;
182 if ( i == virt_res || j == virt_res ){
186 if ( i == virt_res ) {
205 for (
Size i = 1; i <= allow_insert->nres(); i++) {
216 using namespace protocols::moves;
233 using namespace core::kinematics;
245 Size cutpoint_closed( 0 );
246 for (
Size i = 1; i <= cutpos_list.size() ; i++ ){
247 if ( !slid_into_contact[ cutpos_list[ i ] ] ){
248 cutpoint_closed = cutpos_list[ i ];
break;
251 if (
verbose_) std::cout <<
"CUTPOINT_CLOSED: " << cutpoint_closed << std::endl;
252 if ( cutpoint_closed == 0 )
continue;
256 if (
verbose_) std::cout <<
"OLD VEC " << diff.length() << std::endl;
262 std::cout <<
"OLD JUMP " << j << std::endl;
266 ObjexxFCL::FArray1D< bool >
const & partition_definition =
rna_loop_closer_->partition_definition();
270 if (
verbose_) std::cout <<
' ' << stub.
M.col_x()[0]<<
' ' << stub.
M.col_x()[1]<<
' ' << stub.
M.col_x()[2] << std::endl;
271 Vector new_translation = j.get_translation() + sign_jump * stub.
M.transposed() * diff;
272 j.set_translation( new_translation );
274 if (
verbose_) std::cout <<
"NEW JUMP " << pose.
jump( jumpno ) << std::endl;
276 if (
verbose_) std::cout <<
"NEW VEC " << diff2.length() << std::endl << std::endl;
278 slid_into_contact[ cutpoint_closed ] =
true;
300 using namespace protocols::moves;
304 std::cout <<
"NUM_DOMAINS: " <<
num_domains_ << std::endl;