CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
DDMapper< KeyType, ValueType > Class Template Reference

#include <DDMapper.h>

Public Types

typedef std::pair< KeyType,
ValueType > 
Pair
 usefull typedef More...
 
typedef std::vector< PairVector
 usefull typedef More...
 

Public Member Functions

Vector all (const std::string &name, const std::string &value) const
 get all std::mapped instances which have a specific 'name' with value 'value' More...
 
Vector all (const std::string &name, const double &value) const
 get all std::mapped instances which have a specific 'name' with value 'value' More...
 
Vector all (const std::string &name) const
 get all std::mapped instances which have a specific 'name' More...
 
void insert (const KeyType &, const ValueType &)
 insert a new key-value-pair More...
 
unsigned int noSpecifics (const KeyType &key, const std::string &name) const
 fetch a key given a value More...
 
unsigned int toDouble (const std::string &name, const KeyType &key, double &value, unsigned int pos=0) const
 returns the number specific parameters named 'name' and the corrsponding double More...
 
unsigned int toDouble (const std::string &name, const ValueType &key, double &value, unsigned int pos=0) const
 
unsigned int toString (const std::string &name, const KeyType &key, std::string &value, unsigned int pos=0) const
 same as toDouble but for std::string-valued values of named parameters More...
 
unsigned int toString (const std::string &name, const ValueType &key, std::string &value, unsigned int pos=0) const
 same as toDouble but for std::string-valued values of named parameters More...
 
bool value (const KeyType &key, ValueType &result)
 removes a key-value pair More...
 

Private Attributes

std::map< KeyType, ValueType > keyToValue_
 
std::multimap< ValueType, KeyType > valueToKey_
 

Detailed Description

template<class KeyType, class ValueType>
class DDMapper< KeyType, ValueType >

Definition at line 13 of file DDMapper.h.

Member Typedef Documentation

template<class KeyType, class ValueType>
typedef std::pair<KeyType, ValueType> DDMapper< KeyType, ValueType >::Pair

usefull typedef

Definition at line 17 of file DDMapper.h.

template<class KeyType, class ValueType>
typedef std::vector<Pair> DDMapper< KeyType, ValueType >::Vector

usefull typedef

Definition at line 20 of file DDMapper.h.

Member Function Documentation

template<class K , class V >
std::vector< std::pair< K, V > > DDMapper< K, V >::all ( const std::string &  name,
const std::string &  value 
) const

get all std::mapped instances which have a specific 'name' with value 'value'

Definition at line 208 of file DDMapper.h.

Referenced by DDG4ProductionCuts::initialize().

template<class K , class V >
std::vector< std::pair< K, V > > DDMapper< K, V >::all ( const std::string &  name,
const double &  value 
) const

get all std::mapped instances which have a specific 'name' with value 'value'

Definition at line 242 of file DDMapper.h.

template<class K , class V >
std::vector< std::pair< K, V > > DDMapper< K, V >::all ( const std::string &  name) const

get all std::mapped instances which have a specific 'name'

Definition at line 276 of file DDMapper.h.

template<class K, class V>
void DDMapper< K, V >::insert ( const K &  key,
const V &  value 
)

insert a new key-value-pair

any existing entry will be overridden

Definition at line 77 of file DDMapper.h.

template<class K, class V >
unsigned int DDMapper< K, V >::noSpecifics ( const K &  key,
const std::string &  name 
) const

fetch a key given a value

the number of specific parameters which are named 'name'

Definition at line 98 of file DDMapper.h.

template<class K, class V >
unsigned int DDMapper< K, V >::toDouble ( const std::string &  name,
const K &  key,
double &  value,
unsigned int  pos = 0 
) const

returns the number specific parameters named 'name' and the corrsponding double

of the DDLogicalPart which corresponds to the given KeyType key. The returned value is assigned to the 'value'-reference

  • if no parameters exist, 0 is returned and value is left unchanged
  • if more than one parameter with the given name exists, the first is returned by default, alternatively 'pos' can be used to address another value (note: pos=0 -> first value)

Definition at line 119 of file DDMapper.h.

Referenced by DDG4ProductionCuts::setProdCuts().

template<class K , class V>
unsigned int DDMapper< K, V >::toDouble ( const std::string &  name,
const V &  key,
double &  value,
unsigned int  pos = 0 
) const

Definition at line 142 of file DDMapper.h.

template<class K, class V >
unsigned int DDMapper< K, V >::toString ( const std::string &  name,
const K &  key,
std::string &  value,
unsigned int  pos = 0 
) const

same as toDouble but for std::string-valued values of named parameters

Definition at line 182 of file DDMapper.h.

Referenced by DDG4ProductionCuts::initialize(), and DDG4ProductionCuts::setProdCuts().

template<class K, class V>
unsigned int DDMapper< K, V >::toString ( const std::string &  name,
const V &  key,
std::string &  value,
unsigned int  pos = 0 
) const

same as toDouble but for std::string-valued values of named parameters

Definition at line 162 of file DDMapper.h.

template<class K, class V>
bool DDMapper< K, V >::value ( const K &  key,
V &  result 
)

removes a key-value pair

non-existing keys are simply ignored removes a key-value pair non-existing values are simply ignored fetch a value given a key returns true, if sucessfull - value is assigned to result; else false

Definition at line 86 of file DDMapper.h.

Referenced by average.Average::average().

Member Data Documentation

template<class KeyType, class ValueType>
std::map<KeyType, ValueType> DDMapper< KeyType, ValueType >::keyToValue_
private

Definition at line 71 of file DDMapper.h.

template<class KeyType, class ValueType>
std::multimap<ValueType, KeyType> DDMapper< KeyType, ValueType >::valueToKey_
private

Definition at line 72 of file DDMapper.h.