Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

UTIL::IndexMap Class Reference

#include <IndexMap.h>

List of all members.

Public Member Functions

 IndexMap (const EVENT::LCCollection *col, const std::string &key1, const std::string &key2)
 ~IndexMap ()
int encode (const std::string name)
const std::string & decode (int type) const

Protected Attributes

const EVENT::LCCollection_col
const std::string _key1
const std::string _key2
EVENT::StringVec _strvec
EVENT::IntVec _intvec


Detailed Description

utility class to manage indexes according to Collection Parameters

EXP: UNDER DEVELOPMENT!!! - Don't use this class yet

Author:
engels
Version:
Id
IndexMap.h,v 1.2 2006/09/21 06:10:38 gaede Exp

Definition at line 21 of file IndexMap.h.


Constructor & Destructor Documentation

UTIL::IndexMap::IndexMap const EVENT::LCCollection col,
const std::string &  key1,
const std::string &  key2
 

Constructor: takes as arguments the collection where the parameters are stored and the parameter names to manage Before you loop over a collection create an IndexMap object with the keys to manage. Example:

LCCollection* col = evt->getCollection( "Vertices" ) ;

IndexMap imvtx( col, "AlgorithmNames", "AlgorithmTypes" ) ;

Loop over Collection....

Vertex* v = dynamic_cast<Vertex*>( col->getElementAt( i ) ) ;

cout << "vertex " << i << has been created with " << imvtx.decode( v->getAlgorithmType() ) << endl;

End Loop

---------------------------------

For using the encoding use similar process:

IndexMap imvtx( col, "AlgorithmNames", "AlgorithmTypes" ) ;

Loop for creating vertices...

VertexImpl* v = new VertexImpl ;

v->setAlgorithmType( imvtx.encode( "ZvTop" ) );

// If the parameter "ZvTop" or even the collection parameters "AlgorithmNames" and "AlgorithmTypes" do not exist // they are automatically added and ZvTop gets a corresponding new AlgorithmType which is also automatically added

End Loop

Definition at line 11 of file IndexMap.cc.

References _col, _intvec, _strvec, EVENT::LCParameters::getIntVals(), EVENT::LCCollection::getParameters(), and EVENT::LCParameters::getStringVals().

UTIL::IndexMap::~IndexMap  ) 
 

Definition at line 18 of file IndexMap.cc.


Member Function Documentation

const std::string & UTIL::IndexMap::decode int  type  )  const
 

decode int to string (e.g. cout << "vertex has been created with " << imvtx.decode( vtx->getAlgorithmType() ) << endl;

Definition at line 41 of file IndexMap.cc.

References _intvec, and _strvec.

int UTIL::IndexMap::encode const std::string  name  ) 
 

encode string to index (e.g. vertex->setAlgorithmType( imvtx.enconde( "ZvTop" ) );

Definition at line 20 of file IndexMap.cc.

References _intvec, _key1, _key2, _strvec, and EVENT::LCParameters::setValues().


Member Data Documentation

const EVENT::LCCollection* UTIL::IndexMap::_col [protected]
 

Definition at line 70 of file IndexMap.h.

Referenced by IndexMap().

EVENT::IntVec UTIL::IndexMap::_intvec [protected]
 

Definition at line 74 of file IndexMap.h.

Referenced by decode(), encode(), and IndexMap().

const std::string UTIL::IndexMap::_key1 [protected]
 

Definition at line 71 of file IndexMap.h.

Referenced by encode().

const std::string UTIL::IndexMap::_key2 [protected]
 

Definition at line 72 of file IndexMap.h.

Referenced by encode().

EVENT::StringVec UTIL::IndexMap::_strvec [protected]
 

Definition at line 73 of file IndexMap.h.

Referenced by decode(), encode(), and IndexMap().


The documentation for this class was generated from the following files:
Generated on Sun Jun 3 06:32:40 2007 for A TPC Tracking Environment by  doxygen 1.3.9.1