30#ifndef __SPH_PROTOCONES_H__
31#define __SPH_PROTOCONES_H__
42namespace siscone_spherical{
61 angle = atan2(dot_product3(diff, angl_dir2), dot_product3(diff, angl_dir1));
62#ifdef DEBUG_STABLE_CONES
63 std::cout <<
" adding point " << momentum->
_theta <<
", " << momentum->
_phi
64 <<
" at an angle of " <<
angle << std::endl;
104 void init(std::vector<CSphmomentum> &_particle_list);
123#ifdef DEBUG_STABLE_CONES
124 int nb_hash_cones, nb_hash_occupied;
149 unsigned int centre_idx;
152 unsigned int first_cone;
180 void prepare_cocircular_lists();
189 bool cocircular_check();
195 void test_cone_cocircular(
CSphmomentum & borderless_cone,
196 std::list<CSphmomentum *> & border_list);
205 const std::vector<CSphborder_store> & border_vect);
213 void compute_cone_contents();
220 void recompute_cone_contents();
228 void recompute_cone_contents_if_needed(
CSphmomentum & this_cone,
double & this_dpt);
235 int proceed_with_stability();
251 std::vector<CSphmomentum*> child_list;
255 std::vector< std::pair<siscone::Creference,siscone::Creference> > multiple_centre_done;
references used for checksums.
base class for managing the spatial part of Cmomentum (defined after)
double _theta
particle theta angle (available ONLY after a call to build_thetaphi)
double _phi
particle phi angle (available ONLY after a call to build_thetaphi)
class for storing a border momentum (in context of co-circularity checks).
bool is_in
inclusion status of the particle
CSphborder_store(CSphmomentum *momentum, CSph3vector ¢re, CSph3vector &angl_dir1, CSph3vector &angl_dir2)
default ctor
CSphmomentum * mom
particle momentum
double angle
angle w.r.t. circle centre
base class for dynamic coordinates management
Computes the list of stable comes from a particle list.
void init(std::vector< CSphmomentum > &_particle_list)
initialisation
int get_stable_cones(double _radius)
compute stable cones.
double tan2R
squared tangent of the cone radius
CSphstable_cones()
default ctor
sph_hash_cones * hc
list of candidates
~CSphstable_cones()
default dtor
CSphstable_cones(std::vector< CSphmomentum > &_particle_list)
ctor with initialisation (sse init for details)
double R2
cone radius SQUARED
int nb_tot
total number of tested cones
std::vector< CSphmomentum > protocones
list of stable cones
element in the vicinity of a parent.
list of element in the vicinity of a parent.
list of cones candidates.