51#ifdef DEBUG_STABLE_CONES
59 int nbits = (int) (log(_Np*_R2*_Np/4.0)/log(2.0));
69 for (i=0;i<
mask+1;i++)
81 for (i=0;i<
mask+1;i++){
109#ifdef DEBUG_STABLE_CONES
222 dx = centre->
eta - v->
eta;
223 dy = fabs(centre->
phi - v->
phi);
227 return dx*dx+dy*dy<
R2;
base class for dynamic coordinates management
Creference ref
reference number for the vector
double eta
particle pseudo-rapidity
void build_etaphi()
build eta-phi from 4-momentum info !!! WARNING !!! !!! computing eta and phi is time-consuming !...
double phi
particle azimuthal angle
unsigned int ref[3]
actual data for the reference
int mask
number of occupied cells
hash_element ** hash_array
the cone data itself
int insert(Cmomentum *v, Cmomentum *parent, Cmomentum *child, bool p_io, bool c_io)
insert a new candidate into the hash.
double R2
circle radius (squared) NOTE: need to be set before any call to 'insert'
int n_cones
number of elements
bool is_inside(Cmomentum *centre, Cmomentum *v)
test if a particle is inside a cone of given centre.
hash_cones(int _Np, double _R2)
constructor with initialisation
information on store cones candidates.
hash_element * next
pointer to the next element
bool is_stable
true if stable w.r.t. "border particles"
double eta
centre: eta coordinate
double phi
centre: phi coordinate