28 #ifndef __VICINITY_H__
29 #define __VICINITY_H__
101 Cvicinity(std::vector<Cmomentum> &_particle_list);
133 #ifdef USE_QUADTREE_FOR_STABILITY_TEST
Implementation of a 2D quadtree.
Cvicinity_elm * ve_list
list of vicinity elements built from particle list (size=2*n)
std::vector< Cvicinity_elm * > vicinity
list of points in parent's vicinity
unsigned int vicinity_size
number of elements in vicinity
double cocircular_range
amount by which the angle can be varied while maintaining this point within co-circularity margin ...
std::vector< Cvicinity_inclusion > pincluded
the inclusion state of particles
void build(Cmomentum *_parent, double _VR)
build the vicinity list from the list of points.
a class to keep track of inclusion status in cone and in cocircular region while using minimal resour...
void append_to_vicinity(Cmomentum *v)
append a particle to the 'vicinity' list after having tested it and computed the angular-ordering qua...
base class for dynamic coordinates management
double angle
angle with parent
int n_part
number of particles
void set_particle_list(std::vector< Cmomentum > &_particle_list)
set the particle_list
Cvicinity_inclusion * is_inside
variable to tell if the particle is inside or outside the cone
double phi
phi coordinate of the center
double VR
radius of the vicinity
~Cvicinity()
default destructor
double VR2
squared radius of the vicinity
Cvicinity()
default constructor
double eta
eta coordinate of the center
double inv_R_EPS_COCIRC
R / EPSILON_COCIRCULAR.
double pcy
parent centre (phi)
bool side
true if angle on the positive side, false otherwise
Cmomentum * v
pointer to the second borderline particle
double pcx
parent centre (eta)
bool cocirc
flag for particle inclusion in the border
list of element in the vicinity of a parent.
std::vector< Cmomentum > plist
the list of particles
bool cone
flag for particle inclusion in the cone
double inv_R_2EPS_COCIRC
R / (2*EPSILON_COCIRCULAR)
Cvicinity_inclusion()
default ctor
double R2
squared normal radius
element in the vicinity of a parent.
Cmomentum * parent
parent vector
std::list< Cvicinity_elm * > cocircular
list of elements co-circular with this one NB: empty list uses less mem than vector ...