tracking::wrapper Class Reference

Abstract base class from which all of the particle wrappers are derived. More...

#include <wrapper.h>

Inheritance diagram for tracking::wrapper:
Inheritance graph
[legend]
Collaboration diagram for tracking::wrapper:
Collaboration graph
[legend]

List of all members.

Public Types

enum  p_vals {
  D_INDEX = 0, D_XPOS, D_YPOS, D_FRAME,
  D_I, D_R2, D_E, D_NEXT,
  D_PREV, D_DX, D_DY, D_ORGX,
  D_ORGY, D_ZPOS, D_UNQID, D_TRACKID,
  D_S_ORDER_PARAMETER
}
 

enumeration for data types

More...
enum  W_TYPE { W_MATLAB = 0, W_TEXT, W_NING, W_HDF }
 

Enumeration for wrapper types.

More...

Public Member Functions

virtual void print () const =0
 Prints out the currents contents of the wrapper in some sort of sensible way.
virtual int num_entries () const =0
 returns the current number of particle entires that the wrapper has under it's control.
virtual std::set< p_valsget_data_types () const
 Returns a set of the types of data that the wrapper knows how to deal with.
std::map< p_vals, int > * get_map_ptr ()
 Returns a pointer to the map.
 wrapper (std::map< p_vals, int >map_in)
 wrapper ()
virtual ~wrapper ()

Protected Attributes

bool clone
 Boolean value to determine if this is a cloned wrapper or not.
std::map< p_vals, int > data_types_
 A map between the data types and a posistion in the data structure.
int data_layout_ [16]

Detailed Description

Abstract base class from which all of the particle wrappers are derived.

The family derived from wrapper_generic should be used for non-particle output (ie, vectors, representation of sets/maps, etc) This exists mostly to be a common place to define the enumeration of data types


Member Enumeration Documentation

enumeration for data types

Enumerator:
D_INDEX 
D_XPOS 
D_YPOS 
D_FRAME 
D_I 
D_R2 
D_E 
D_NEXT 
D_PREV 
D_DX 
D_DY 
D_ORGX 
D_ORGY 
D_ZPOS 
D_UNQID 
D_TRACKID 
D_S_ORDER_PARAMETER 

Enumeration for wrapper types.

Enumerator:
W_MATLAB 
W_TEXT 
W_NING 
W_HDF 

Constructor & Destructor Documentation

tracking::wrapper::wrapper ( std::map< p_vals, int >  map_in  ) 
tracking::wrapper::wrapper (  )  [inline]
virtual tracking::wrapper::~wrapper (  )  [inline, virtual]

Member Function Documentation

virtual std::set<p_vals> tracking::wrapper::get_data_types (  )  const [virtual]

Returns a set of the types of data that the wrapper knows how to deal with.

Referenced by tracking::Wrapper_i_hdf5::fill_master_box().

std::map<p_vals, int>* tracking::wrapper::get_map_ptr (  )  [inline]

Returns a pointer to the map.

References data_types_.

virtual int tracking::wrapper::num_entries (  )  const [pure virtual]

returns the current number of particle entires that the wrapper has under it's control.

Implemented in tracking::wrapper_i_base, tracking::wrapper_i_file, tracking::Wrapper_i_hdf5, tracking::wrapper_i_ning, and tracking::wrapper_o_base.

virtual void tracking::wrapper::print (  )  const [pure virtual]

Prints out the currents contents of the wrapper in some sort of sensible way.

Implemented in tracking::wrapper_i_file, tracking::Wrapper_i_hdf5, and tracking::wrapper_i_ning.


Member Data Documentation

bool tracking::wrapper::clone [protected]

Boolean value to determine if this is a cloned wrapper or not.

If the data structure of this is pointing at the same chunk of memory as another wrapper, then it only needs to be deleted once. Currently none of this is implemented

int tracking::wrapper::data_layout_[16] [protected]
std::map<p_vals, int> tracking::wrapper::data_types_ [protected]

A map between the data types and a posistion in the data structure.

This orginally had been burried down in the derived classes, but I couldn't think of a data structure for storing particle data where this sort of thing wasn't uesful. Thus, it has been dragged up to the top level.

Referenced by get_map_ptr(), tracking::wrapper_i_ning::get_value(), tracking::wrapper_i_file::get_value(), and tracking::wrapper_i_base::print().


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

Generated on Thu Sep 10 01:51:37 2009 for Particle Identification and Tracking by  doxygen 1.5.9-20090622