41 #include <utility/exit.hh>
44 #include <numeric/constants.hh>
45 #include <numeric/xyzVector.hh>
65 small_cutoff_square_(0),
66 large_cutoff_square_(0),
73 utility_exit_with_message(
"You shouldn't call the empty constructor for GridSearchIterator class" );
81 x_center_(other.x_center_),
82 y_center_(other.y_center_),
83 z_center_(other.z_center_),
87 small_cutoff_square_(other.small_cutoff_square_),
88 large_cutoff_square_(other.large_cutoff_square_),
89 x_vector_(other.x_vector_),
90 y_vector_(other.y_vector_),
91 z_vector_(other.z_vector_),
92 norme_vector_(other.norme_vector_),
93 cone_angle_cos_(other.cone_angle_cos_)
106 if (
this != &other ) {
113 utility_exit_with_message(
"You can't call the = operator on GridSearchIterator object of different size" );
136 x_center_(coo2.x() + k*( coo2.x() - coo1.x() )),
137 y_center_(coo2.y() + k*( coo2.y() - coo1.y() )),
138 z_center_(coo2.z() + k*( coo2.z() - coo1.z() )),
142 small_cutoff_square_(small_cutoff * small_cutoff),
143 large_cutoff_square_(large_cutoff * large_cutoff),
144 x_vector_(coo1.x() - coo2.x()),
145 y_vector_(coo1.y() - coo2.y()),
146 z_vector_(coo1.z() - coo2.z()),
147 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()) )),
148 cone_angle_cos_(cos(cone_angle/180.0*core::
Real( numeric::constants::d::pi )))
151 utility_exit_with_message(
"Edge size of the cube search is negative and has to be positive");
154 utility_exit_with_message(
"step_size of the cube search has to be strictly positive");
167 while(
next(x, y, z) ==
true){