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

Specialization for SimTrackerHits that have only one cellID. More...

#include <UTIL/CellIDEncoder.h>

Inheritance diagram for UTIL::CellIDEncoder< T >:
UTIL::BitField64 UTIL::ILDCellIDEncoder< T >

Public Member Functions

 CellIDEncoder (const std::string &cellIDEncoding, EVENT::LCCollection *col)
 Constructor, sets collection parameter LCIO::CellIDEncoding to the given encoding string.
 
void setCellID (T *hit)
 
void setCellIDFlag ()
 Helper method that sets/unsets the proper bit for storing a second cellid word.
 
- Public Member Functions inherited from UTIL::BitField64
 BitField64 (const std::string &initString)
 The c'tor takes an initialization string of the form:
<fieldDesc>[,<fieldDesc>...]
fieldDesc = name:[start]:[-]length
where:
name: The name of the field
start: The start bit of the field. More...
 
lcio::long64 getValue () const
 Returns the current 64bit value.
 
void setValue (lcio::long64 value)
 Set a new 64bit value.
 
void reset ()
 Reset - same as setValue(0) - useful if the same encoder is used for many objects.
 
BitFieldValueoperator[] (size_t theIndex)
 Acces to field through index.
 
const BitFieldValueoperator[] (size_t theIndex) const
 Const acces to field through index.
 
unsigned highestBit () const
 Highest bit used in fields [0-63].
 
size_t size () const
 Number of values.
 
size_t index (const std::string &name) const
 Index for field named 'name'.
 
BitFieldValueoperator[] (const std::string &name)
 Access to field through name .
 
const BitFieldValueoperator[] (const std::string &name) const
 Const Access to field through name .
 
unsigned lowWord () const
 The low word, bits 0-31.
 
unsigned highWord () const
 The high word, bits 32-63.
 
std::string fieldDescription () const
 Return a valid description string of all fields.
 
std::string valueString () const
 Return a string with a comma separated list of the current sub field values.
 

Protected Attributes

EVENT::LCCollection_col
 
- Protected Attributes inherited from UTIL::BitField64
std::vector< BitFieldValue * > _fields
 
lcio::long64 _value
 
IndexMap _map
 
lcio::long64 _joined
 

Additional Inherited Members

- Public Types inherited from UTIL::BitField64
typedef std::map< std::string,
unsigned int > 
IndexMap
 
- Protected Member Functions inherited from UTIL::BitField64
void addField (const std::string &name, unsigned offset, int width)
 Add an additional field to the list.
 
void init (const std::string &initString)
 Decode the initialization string as described in the constructor. More...
 
 BitField64 ()
 No default c'tor.
 

Detailed Description

template<class T>
class UTIL::CellIDEncoder< T >

Specialization for SimTrackerHits that have only one cellID.

Convenient class for encoding cellIDs for various hit objects. It sets the proper collection parameter LCIO::CellIDEncoding and sets the proper flag bit for storing a second cellid if necessary. See UTIL::BitField64 for a description of the encoding string. Example:
  CellIDEncoder<SimCalorimeterHitImpl> cd( "i:20,j:20,k:20" ,calVec ) ;
  for(int j=0;j<NHITS;j++){
   SimCalorimeterHitImpl* hit = new SimCalorimeterHitImpl ;
   cd["i"] = j ;
   cd["j"] = j + 100 ;
   cd["k"] = j + 200 ;
   cd.setCellID( hit ) ;
  }

See Also
BitField64
Version
Id:
CellIDEncoder.h,v 1.6 2008-01-22 14:38:55 gaede Exp

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