34 namespace siscone_spherical{
53 #ifdef DEBUG_STABLE_CONES
61 int nbits = (int) (log(_Np*_radius*_radius*_Np/4.0)/log(2.0));
71 for (i=0;i<mask+1;i++)
84 for (i=0;i<mask+1;i++){
85 while (hash_array[i]!=NULL){
87 hash_array[i] = hash_array[i]->
next;
107 int index = (v->
ref.
ref[0]) & mask;
110 elm = hash_array[index];
112 #ifdef DEBUG_STABLE_CONES
130 elm->
is_stable = !((is_closer(v, parent, tan2R)^p_io)||(is_closer(v, child, tan2R)^c_io));
134 elm->
next = hash_array[index];
135 hash_array[index] = elm;
145 elm->
is_stable = !((is_closer(v, parent, tan2R)^p_io)||(is_closer(v, child, tan2R)^c_io));
171 int index = (v->
ref.
ref[0]) & mask;
175 elm = hash_array[index];
189 elm->
next = hash_array[index];
190 hash_array[index] = elm;
unsigned int ref[3]
actual data for the reference
siscone::Creference ref
reference number for the vector
base class for dynamic coordinates management
int insert(CSphmomentum *v, CSphmomentum *parent, CSphmomentum *child, bool p_io, bool c_io)
insert a new candidate into the hash.
sph_hash_cones(int _Np, double _radius)
~sph_hash_cones()
destructor
information on store cones candidates.
sph_hash_element * next
pointer to the next element
CSph3vector centre
centre of the cone
bool is_stable
true if stable w.r.t. "border particles"