28#ifndef __PROTOCONES_H__
29#define __PROTOCONES_H__
97 void init(std::vector<Cmomentum> &_particle_list);
116#ifdef DEBUG_STABLE_CONES
117 int nb_hash_cones, nb_hash_occupied;
139 unsigned int centre_idx;
142 unsigned int first_cone;
170 void prepare_cocircular_lists();
179 bool cocircular_check();
185 void test_cone_cocircular(
Cmomentum & borderless_cone,
186 std::list<Cmomentum *> & border_list);
194 void test_stability(
Cmomentum & candidate,
195 const std::vector<Cborder_store> & border_vect);
203 void compute_cone_contents();
210 void recompute_cone_contents();
218 void recompute_cone_contents_if_needed(
Cmomentum & this_cone,
double & this_dpt);
225 int proceed_with_stability();
235 Creference circle_intersect(
double cx,
double cy);
241 std::vector<Cmomentum*> child_list;
245 std::vector< std::pair<Creference,Creference> > multiple_centre_done;
268inline double abs_dangle(
double &angle1,
double &angle2);
class for storing a border momentum (in context of co-circularity checks).
Cborder_store(Cmomentum *momentum, double centre_eta, double centre_phi)
default ctor
double angle
angle w.r.t. circle centre
bool is_in
inclusion status of the particle
Cmomentum * mom
particle momentum
base class for dynamic coordinates management
double eta
particle pseudo-rapidity
double phi
particle azimuthal angle
references used for checksums.
Computes the list of stable comes from a particle list.
void init(std::vector< Cmomentum > &_particle_list)
initialisation
int nb_tot
total number of tested cones
Cstable_cones()
default ctor
std::vector< Cmomentum > protocones
list of stable cones
double R2
cone radius SQUARED
int get_stable_cones(double _radius)
compute stable cones.
hash_cones * hc
list of candidates
~Cstable_cones()
default dtor
Cstable_cones(std::vector< Cmomentum > &_particle_list)
ctor with initialisation (sse init for details)
element in the vicinity of a parent.
list of element in the vicinity of a parent.
list of cones candidates.