1 #ifndef CellIDEncoder_h
2 #define CellIDEncoder_h 1
14 class SimCalorimeterHit ;
15 class RawCalorimeterHit ;
16 class CalorimeterHit ;
19 class TrackerRawData ;
22 class TrackerHitPlane ;
23 class TrackerHitZCylinder ;
36 template<>
int CellIDEncoder_cellID1Bit<EVENT::SimCalorimeterHit>() ;
39 template<>
int CellIDEncoder_cellID1Bit<EVENT::RawCalorimeterHit>() ;
42 template<>
int CellIDEncoder_cellID1Bit<EVENT::CalorimeterHit>() ;
45 template<>
int CellIDEncoder_cellID1Bit<EVENT::TrackerData>() ;
48 template<>
int CellIDEncoder_cellID1Bit<EVENT::TrackerPulse>() ;
51 template<>
int CellIDEncoder_cellID1Bit<EVENT::TrackerRawData>() ;
54 template<>
int CellIDEncoder_cellID1Bit<EVENT::TrackerHit>() ;
57 template<>
int CellIDEncoder_cellID1Bit<EVENT::TrackerHitPlane>() ;
60 template<>
int CellIDEncoder_cellID1Bit<EVENT::TrackerHitZCylinder>() ;
63 template<>
int CellIDEncoder_cellID1Bit<EVENT::SimTrackerHit>() ;
71 hit->setCellID0( low ) ;
72 hit->setCellID1( high ) ;
129 int bit = CellIDEncoder_cellID1Bit<typename T::lcobject_type>() ;
unsigned highestBit() const
Highest bit used in fields [0-63].
CellIDEncoder(const std::string &cellIDEncoding, EVENT::LCCollection *col)
Constructor, sets collection parameter LCIO::CellIDEncoding to the given encoding string...
A bit field of 64bits that allows convenient declaration and manipulation of sub fields of various wi...
virtual void setFlag(int flag)=0
Set the flag word.
virtual int getFlag() const =0
Returns flag word for collection.
virtual LCParameters & parameters()=0
Parameters defined for this collection.
void CellIDEncoder_setCellID(T *hit, int low, int high)
Helper function that sets cellid1 and cellid2.
unsigned highWord() const
The high word, bits 32-63.
Implementation of helper class to create and interpret the 32-bit flag word in LCCollections.
virtual void setValue(const std::string &key, int value)=0
Set integer value for the given key.
Specialization for SimTrackerHits that have only one cellID.
EVENT::LCCollection * _col
unsigned lowWord() const
The low word, bits 0-31.
The generic collection used in LCIO.
int CellIDEncoder_cellID1Bit()
Helper function that returns the bit for cellid1 through template specialization or -1 if no cellid1 ...
CellIDEncoder & operator=(const CellIDEncoder &)=delete
virtual void setBit(int bit)
Sets bit to 1.
CellIDEncoder(const CellIDEncoder &)=delete
void setCellIDFlag()
Helper method that sets/unsets the proper bit for storing a second cellid word.