LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
Public Member Functions | Protected Attributes | List of all members
UTIL::IndexMap Class Reference

utility class to manage indexes according to Collection Parameters More...

#include <UTIL/IndexMap.h>

Public Member Functions

 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. More...
 
int encode (const std::string name)
 encode string to index (e.g. More...
 
const std::string & decode (int type) const
 decode int to string (e.g. More...
 

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

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

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

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;

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

encode string to index (e.g.

vertex->setAlgorithmType( imvtx.enconde( "ZvTop" ) );


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