Particle Identification and Tracking
|
List wrapper class for us in the track linking portion of the code. More...
#include <track_list.h>
Public Member Functions | |
void | link_next (std::list< particle_track * > *new_next) |
finds the links between the list of particles held by the pointer in this object and the list being handed in. More... | |
track_list (std::list< particle_track * > *first_list, float i_max_disp, Track_shelf *in_tracks) | |
Sets up the object to start linking tracks. More... | |
~track_list () | |
Protected Member Functions | |
void | link_sub_ntwrk () |
Does the perumtation on the subnetwork lists and sets all the particles. More... | |
void | trivial_bonds () |
finds and removes trivial bonds More... | |
void | set_up_sub_ntwrk () |
sets up the first subnetwork that is found in the particle lists More... | |
void | clean_lists () |
std::list< particle_track * > ::iterator | erase (std::list< particle_track * > *in, std::list< particle_track * >::iterator it) |
for removing stuff from lists and cleaning up the possible link lists More... | |
void | recur_fnc_np (std::vector< std::pair< particle_track *, particle_track * > > *min, std::vector< std::pair< particle_track *, particle_track * > > *cur, float disp, float &min_disp, std::set< particle_track * >::iterator it, const std::set< particle_track * >::iterator &itend) |
Function that does the actual work. More... | |
void | recur_fnc_pn (std::vector< std::pair< particle_track *, particle_track * > > *min, std::vector< std::pair< particle_track *, particle_track * > > *cur, float disp, float &min_disp, std::set< particle_track * >::iterator it, const std::set< particle_track * >::iterator &itend) |
Function that does the actual work, works in alternate direction. More... | |
void | link_pairs (std::vector< std::pair< particle_track *, particle_track * > > &in) |
Links two particles together and cleans up stuff. More... | |
Static Protected Member Functions | |
static bool | part_lt (particle_track *a, particle_track *b) |
for sorting lists of particles More... | |
Protected Attributes | |
std::list< particle_track * > * | p_list |
Pointer to list of 'previous' particles. More... | |
std::list< particle_track * > * | n_list |
Pointer to std::list of 'next' particles. More... | |
std::list< particle_track * > * | store_list |
pointer to copy of current 'next' for next iteration More... | |
std::set< particle_track * > | p_sub_net |
List for the 'previous' particles in the subnetwork. More... | |
std::set< particle_track * > | n_sub_net |
list for the 'next' particles in the subnetworks More... | |
Track_shelf * | tracks |
Track shelf object to put new tracks into. More... | |
float | max_disp |
maximum distance a particle may move More... | |
float | max_disp_sq |
square of the maximum distance a particle may move More... | |
List wrapper class for us in the track linking portion of the code.
It is a list of particle_track pointers and functions to do the looping needed in the track locating algorithm
track_list::track_list | ( | std::list< particle_track * > * | first_list, |
float | i_max_disp, | ||
Track_shelf * | in_tracks | ||
) |
Sets up the object to start linking tracks.
The object passed in is DESTROYED (eventually), be aware of this!
track_list::~track_list | ( | ) |
References erase(), and store_list.
|
protected |
References erase(), tracking::particle_track::get_next(), tracking::particle_track::get_prev(), n_list, tracking::particle_track::n_pos_link, p_list, and tracking::particle_track::p_pos_link.
Referenced by link_next().
|
protected |
for removing stuff from lists and cleaning up the possible link lists
Referenced by clean_lists(), and ~track_list().
void track_list::link_next | ( | std::list< particle_track * > * | new_next) |
finds the links between the list of particles held by the pointer in this object and the list being handed in.
The list handed in is destroyed! be aware of this .
References clean_lists(), link_sub_ntwrk(), n_list, p_list, set_up_sub_ntwrk(), store_list, and trivial_bonds().
Referenced by tracking::hash_case::link().
|
protected |
Links two particles together and cleans up stuff.
References tracking::Track_shelf::add_new_track(), tracking::particle_track::get_track(), tracking::particle_track::n_pos_link, n_sub_net, tracking::particle_track::p_pos_link, p_sub_net, and tracks.
Referenced by link_sub_ntwrk().
|
protected |
Does the perumtation on the subnetwork lists and sets all the particles.
References link_pairs(), max_disp_sq, n_sub_net, p_sub_net, and recur_fnc_pn().
Referenced by link_next().
|
staticprotected |
for sorting lists of particles
|
protected |
Function that does the actual work.
References max_disp_sq, and tracking::particle_track::p_pos_link.
|
protected |
Function that does the actual work, works in alternate direction.
References max_disp_sq, and tracking::particle_track::n_pos_link.
Referenced by link_sub_ntwrk().
|
protected |
sets up the first subnetwork that is found in the particle lists
References MAX_NET_SIZE, tracking::particle_track::n_pos_link, n_sub_net, p_list, tracking::particle_track::p_pos_link, and p_sub_net.
Referenced by link_next().
|
protected |
finds and removes trivial bonds
References tracking::Track_shelf::add_new_track(), tracking::particle_track::get_track(), n_list, tracking::particle_track::n_pos_link, tracking::particle_track::p_pos_link, and tracks.
Referenced by link_next().
|
protected |
maximum distance a particle may move
|
protected |
square of the maximum distance a particle may move
Referenced by link_sub_ntwrk(), recur_fnc_np(), and recur_fnc_pn().
|
protected |
Pointer to std::list of 'next' particles.
Referenced by clean_lists(), link_next(), and trivial_bonds().
|
protected |
list for the 'next' particles in the subnetworks
Referenced by link_pairs(), link_sub_ntwrk(), and set_up_sub_ntwrk().
|
protected |
Pointer to list of 'previous' particles.
Referenced by clean_lists(), link_next(), and set_up_sub_ntwrk().
|
protected |
List for the 'previous' particles in the subnetwork.
Referenced by link_pairs(), link_sub_ntwrk(), and set_up_sub_ntwrk().
|
protected |
pointer to copy of current 'next' for next iteration
Referenced by link_next(), and ~track_list().
|
protected |
Track shelf object to put new tracks into.
Referenced by link_pairs(), and trivial_bonds().