Particle Identification and Tracking
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
tracking::hash_case Class Reference

Class to hold sets of Hash_shelf. More...

#include <hash_case.h>

+ Collaboration diagram for tracking::hash_case:

Public Member Functions

Hash_shelfreturn_shelf (int n) const
 retrun a given shelf More...
 
 hash_case ()
 Constructor, does no work. More...
 
void init (Master_box &mb, const utilities::Tuplef &dims, float ppb, int frames)
 Initializer that actually does the work. More...
 
void init (utilities::Wrapper_in &w_in, utilities::Filter &filt, float ppb)
 Initializer that takes in a wrapper rather than a master_box. More...
 
void print () const
 print out a sensible representation of the data More...
 
void pass_fun_to_part (void(particle::*fun)())
 Passes functions all the way down the pyramid, this one for void, argument-less functions, non-const. More...
 
void pass_fun_to_part (void(particle::*fun)() const) const
 Passes functions all the way down the pyramid, this one for void, argument-less functions, const. More...
 
void pass_fun_to_shelf (void(Hash_shelf::*fun)())
 Passes functions to the shelves in the case, this one for void, argument-less functions. More...
 
void pass_fun_to_shelf (void(Hash_shelf::*fun)() const) const
 Passes functions to the shelves in the case, this one for void, argument-less functions. More...
 
unsigned int get_num_frames () const
 returns the number of frames in the hash case More...
 
void output_to_wrapper (utilities::Wrapper_out &) const
 outputs the hash case to the Wrapper that is passed in More...
 
void compute_corr (tracking::Corr &) const
 passes a Corr object down the pyramid More...
 
unsigned int compute_corr (tracking::Corr_case &) const
 Passes a Corr_case down the pyramid. More...
 
void compute_accum (Accumulator &in) const
 Passes an Accumulator object down the pyramid. More...
 
void compute_accum (utilities::Accum_case &) const
 Passes an Accumulator_case down the pyramid, one accumulator per hash_shelf. More...
 
void fill_in_neighborhood ()
 fills in the neighborhoods for all of the particles More...
 
int get_avg_dtime () const
 Gets the average dtime between the shelves. More...
 
float get_avg_temp () const
 Gets the average temperature of all the planes in the case. More...
 
 ~hash_case ()
 Destructor. More...
 
void init (float box_side_len, const utilities::Wrapper_in &wrapper, Track_shelf &tracks, utilities::Filter &filt, int min_trk_length)
 Initialization function for related to tracking. More...
 
void link (float max_range, Track_shelf &tracks)
 Links particles in to tracks. More...
 
void compute_mean_disp ()
 Compute mean forward displacement for each shelf. More...
 

Protected Member Functions

void fill_pos_link_next (std::list< particle_track * > *tlist, std::vector< Hash_shelf * >::iterator in_it, float max_disp)
 Given a list of particles fills in the n_pos_link lists and appends the appropriate values to the p_pos_link lists when those particles are. More...
 

Protected Attributes

std::vector< Hash_shelf * > h_case_
 vector of pointers to shelves More...
 
bool inited_
 Bool if the Hash_case has been initialized. More...
 
bool own_particles_
 Bool if the child hash shelves owns the particles. More...
 

Detailed Description

Class to hold sets of Hash_shelf.

This is used as a structure to organize the hash tables by time frame.

Constructor & Destructor Documentation

hash_case::hash_case ( )

Constructor, does no work.

hash_case::~hash_case ( )

Member Function Documentation

void hash_case::compute_accum ( Accumulator in) const

Passes an Accumulator object down the pyramid.

References h_case_.

Referenced by compute_accum().

void hash_case::compute_accum ( utilities::Accum_case in) const

Passes an Accumulator_case down the pyramid, one accumulator per hash_shelf.

References compute_accum(), h_case_, and utilities::Accum_case::size().

void hash_case::compute_corr ( tracking::Corr in) const

passes a Corr object down the pyramid

References h_case_.

Referenced by compute_corr(), and main().

unsigned int hash_case::compute_corr ( tracking::Corr_case in) const

Passes a Corr_case down the pyramid.

Returns the number of frames per calculation

References compute_corr(), h_case_, and tracking::Corr_case::size().

void hash_case::compute_mean_disp ( )

Compute mean forward displacement for each shelf.

References h_case_.

Referenced by init(), and main().

void hash_case::fill_in_neighborhood ( )

fills in the neighborhoods for all of the particles

References h_case_.

void hash_case::fill_pos_link_next ( std::list< particle_track * > *  tlist,
std::vector< Hash_shelf * >::iterator  in_it,
float  max_disp 
)
protected

Given a list of particles fills in the n_pos_link lists and appends the appropriate values to the p_pos_link lists when those particles are.

Parameters
tlistlist of particles to find the possible next particles of
in_ititerator to the vector h_case that points to the Hash_shelf to look for possible next particles in
max_dispthe maximum allowed displacement when looking for possible particles

References tracking::hash_box::box_to_list(), tracking::hash_box::clear(), tracking::particle_base::distancesq(), lt_pair_tac(), tracking::particle_track::n_pos_link, and tracking::particle_track::p_pos_link.

Referenced by link().

int hash_case::get_avg_dtime ( ) const

Gets the average dtime between the shelves.

References utilities::Md_store::get_value(), and h_case_.

Referenced by main().

float hash_case::get_avg_temp ( ) const

Gets the average temperature of all the planes in the case.

References utilities::Md_store::get_value(), and h_case_.

Referenced by main().

unsigned int tracking::hash_case::get_num_frames ( ) const
inline

returns the number of frames in the hash case

References h_case_.

Referenced by tracking::Track_shelf::init(), and main().

void hash_case::init ( Master_box mb,
const utilities::Tuplef dims,
float  ppb,
int  frames 
)
void hash_case::init ( utilities::Wrapper_in w_in,
utilities::Filter filt,
float  ppb 
)
void hash_case::init ( float  box_side_len,
const utilities::Wrapper_in wrapper,
Track_shelf tracks,
utilities::Filter filt,
int  min_trk_length 
)
void hash_case::link ( float  max_range,
Track_shelf tracks 
)

Links particles in to tracks.

Parameters
max_range[in] the maximum displacement a particle is expected to have in a time step
tracks[out] a Track_shelf object passed in by reference.

References tracking::Track_shelf::add_new_track(), fill_pos_link_next(), h_case_, and tracking::track_list::link_next().

Referenced by main().

void hash_case::output_to_wrapper ( utilities::Wrapper_out wrapper) const

outputs the hash case to the Wrapper that is passed in

References utilities::Wrapper_out::add_meta_data_root(), and h_case_.

Referenced by main().

void hash_case::pass_fun_to_part ( void(particle::*)()  fun)

Passes functions all the way down the pyramid, this one for void, argument-less functions, non-const.

References h_case_.

Referenced by main().

void hash_case::pass_fun_to_part ( void(particle::*)() const  fun) const

Passes functions all the way down the pyramid, this one for void, argument-less functions, const.

References h_case_.

void hash_case::pass_fun_to_shelf ( void(Hash_shelf::*)()  fun)

Passes functions to the shelves in the case, this one for void, argument-less functions.

References h_case_.

Referenced by main().

void hash_case::pass_fun_to_shelf ( void(Hash_shelf::*)() const  fun) const

Passes functions to the shelves in the case, this one for void, argument-less functions.

References h_case_.

void hash_case::print ( ) const

print out a sensible representation of the data

References h_case_.

Referenced by main().

Hash_shelf* tracking::hash_case::return_shelf ( int  n) const
inline

retrun a given shelf

References h_case_.

Referenced by tracking::Track_shelf::init().

Member Data Documentation

std::vector<Hash_shelf*> tracking::hash_case::h_case_
protected
bool tracking::hash_case::inited_
protected

Bool if the Hash_case has been initialized.

Referenced by init().

bool tracking::hash_case::own_particles_
protected

Bool if the child hash shelves owns the particles.

If so, we need to clean up the wrapper static variable in the particle classes

Referenced by init(), and ~hash_case().


The documentation for this class was generated from the following files: