41 #include <utility/exit.hh>
44 #include <numeric/constants.hh>
45 #include <numeric/xyzVector.hh>
67 small_cutoff_square_(0),
68 large_cutoff_square_(0),
75 utility_exit_with_message(
"You shouldn't call the empty constructor for GridSearchIterator class" );
83 x_center_(other.x_center_),
84 y_center_(other.y_center_),
85 z_center_(other.z_center_),
89 small_cutoff_square_(other.small_cutoff_square_),
90 large_cutoff_square_(other.large_cutoff_square_),
91 x_vector_(other.x_vector_),
92 y_vector_(other.y_vector_),
93 z_vector_(other.z_vector_),
94 norme_vector_(other.norme_vector_),
95 cone_angle_cos_(other.cone_angle_cos_)
108 if (
this != &other ) {
115 utility_exit_with_message(
"You can't call the = operator on GridSearchIterator object of different size" );
138 x_center_(coo2.x() + k*( coo2.x() - coo1.x() )),
139 y_center_(coo2.y() + k*( coo2.y() - coo1.y() )),
140 z_center_(coo2.z() + k*( coo2.z() - coo1.z() )),
144 small_cutoff_square_(small_cutoff * small_cutoff),
145 large_cutoff_square_(large_cutoff * large_cutoff),
146 x_vector_(coo1.x() - coo2.x()),
147 y_vector_(coo1.y() - coo2.y()),
148 z_vector_(coo1.z() - coo2.z()),
149 norme_vector_(sqrt( (coo2.x()-coo1.x())*(coo2.x()-coo1.x()) + (coo2.y()-coo1.y())*(coo2.y()-coo1.y()) + (coo2.z()-coo1.z())*(coo2.z()-coo1.z()) )),
150 cone_angle_cos_(cos(cone_angle/180.0*core::
Real( numeric::constants::d::pi )))
153 utility_exit_with_message(
"Edge size of the cube search is negative and has to be positive");
156 utility_exit_with_message(
"step_size of the cube search has to be strictly positive");
169 while(
next(x, y, z) ==
true){