52 #include <basic/Tracer.hh>
61 #include <utility/vector1.hh>
70 namespace loop_closure {
76 static basic::Tracer
tr(
"protocols.loops.loop_closure.ccd.ShortLoopClosure");
86 orig_loop_( loop_def )
98 movemap->set_bb(
true );
99 movemap->set_bb( 1,
false );
100 movemap->set_bb( loop_def.
size()+2,
false);
103 runtime_assert( loop_def.
start() >= 2 );
104 int const loop_offset(loop_def.
start() - 2);
107 loop_def.
cut() - loop_def.
start() + 2,
112 using namespace fragment;
113 FragSetOP short_frags = fragset->empty_clone();
114 FrameList loop_frames;
115 fragset->region_simple( loop_def.
start(), loop_def.
stop(), loop_frames );
116 for ( FrameList::const_iterator it = loop_frames.begin(),
117 eit = loop_frames.end(); it!=eit; ++it ) {
118 FrameOP short_frame = (*it)->clone_with_frags();
119 short_frame->shift_to( short_frame->start() - loop_offset );
120 short_frags->add( short_frame );
121 tr.Trace <<
"ShortLoopClosure: short_frame->start" << short_frame->start() << std::endl;
122 tr.Trace <<
"add Frame for ShortLoopClosure: "; short_frame->show_header(
tr.Trace );
130 mc_->set_update_boinc(
false);
146 tr.Debug <<
"FoldTree for short-pose segment in ShortLoopClosure "<< f << std::endl;
153 aFrame->shift_to( 2 );
154 aFrame->steal( short_pose );