14 #include <utility/vector1.hh>
15 #include <utility/pointer/ReferenceCount.hh>
16 #include <utility/pointer/owning_ptr.hh>
18 #include <numeric/xyzVector.hh>
19 #include <numeric/xyzMatrix.hh>
20 #include <numeric/xyz.functions.hh>
22 #include <basic/Tracer.hh>
44 namespace hotspot_hashing {
46 static basic::Tracer
TR(
"protocols.hotspot_hashing.SICSearchPattern" );
55 starting_displacement_(starting_displacement),
56 slide_pattern_(slide_pattern),
57 source_pattern_(source_pattern)
59 TR.Debug <<
"Initializing SICPatternAtTransform." << std::endl;
69 starting_displacement_(starting_displacement),
70 slide_pattern_(slide_pattern),
73 TR.Debug <<
"Creating SICPatternAtTransform with no source pattern."<< std::endl;
84 TR.Debug <<
"Initializing SICPatternAtTransform with " << slide_locations.size() <<
" slide locations." << std::endl;
85 TR.Debug <<
"Initializing SICPatternAtTransform with " << source_transforms.size() <<
" source transforms." << std::endl;
87 result_transforms.reserve(slide_locations.size() * source_transforms.size());
89 for (
core::Size i = 1; i <= slide_locations.size(); i++)
91 TR.Trace <<
"slide " << i <<
" " << slide_locations[i].local2global(
Vector(0)) <<
" " << slide_locations[i].local2global(
Vector(1, 0, 0)) <<
"\n";
93 for (
core::Size j = 1; j <= source_transforms.size(); j++)
101 Stub source_at_slide_location;
104 TR.Trace <<
"pre-slide " << i <<
" " << j <<
" " << source_at_slide_location.local2global(
Vector(0)) <<
" " << source_at_slide_location.local2global(
Vector(1, 0, 0)) <<
"\n";
111 source_at_slide_location,
115 source_at_slide_location.v += -slide_vector * sic_distance;
117 TR.Trace <<
"post-slide " << i <<
" " << j <<
" " << source_at_slide_location.local2global(
Vector(0)) <<
" " << source_at_slide_location.local2global(
Vector(1, 0, 0)) <<
"\n";
119 result_transforms.push_back(source_at_slide_location);
123 TR.Trace << std::endl;
125 return result_transforms;