CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions

HcalTestNumbering Class Reference

#include <HcalTestNumbering.h>

List of all members.

Public Member Functions

 HcalTestNumbering ()
virtual ~HcalTestNumbering ()

Static Public Member Functions

static uint32_t packHcalIndex (int det, int z, int depth, int eta, int phi, int lay)
static void unpackHcalIndex (const uint32_t &idx, int &det, int &z, int &depth, int &eta, int &phi, int &lay)

Detailed Description

Definition at line 10 of file HcalTestNumbering.h.


Constructor & Destructor Documentation

HcalTestNumbering::HcalTestNumbering ( ) [inline]

Definition at line 13 of file HcalTestNumbering.h.

{}
virtual HcalTestNumbering::~HcalTestNumbering ( ) [inline, virtual]

Definition at line 14 of file HcalTestNumbering.h.

{}

Member Function Documentation

uint32_t HcalTestNumbering::packHcalIndex ( int  det,
int  z,
int  depth,
int  eta,
int  phi,
int  lay 
) [static]

Definition at line 7 of file HcalTestNumbering.cc.

References UserOptions_cff::idx.

Referenced by HcalTBNumberingScheme::getUnitID(), HcalTB04XtalNumberingScheme::getUnitID(), HcalTBNumberingScheme::getUnitIDs(), HcalTB04Analysis::init(), HCalSD::layerWeight(), and HCalSD::readWeightFromFile().

                                                                     {

  uint32_t idx=(det&15)<<28;      //bits 28-31 
  idx+=((depth-1)&3)<<26;         //bits 26-27  
  idx+=((lay-1)&31)<<21;          //bits 21-25
  idx+=(z&1)<<20;                 //bits 20
  idx+=(eta&1023)<<10;            //bits 10-19
  idx+=(phi&1023);                //bits  0-9

  return idx;

}
void HcalTestNumbering::unpackHcalIndex ( const uint32_t &  idx,
int &  det,
int &  z,
int &  depth,
int &  eta,
int &  phi,
int &  lay 
) [static]

Definition at line 21 of file HcalTestNumbering.cc.

Referenced by SimG4HcalValidation::fetchHits(), HcalTB04Analysis::fillBuffer(), HcalTB04Analysis::fillEvent(), HcalTestHistoClass::fillHits(), HcalTB04Analysis::finalAnalysis(), HcalTBNumberingScheme::getUnitID(), and HcalTB04Analysis::unitID().

                                                  {
  det  = (idx>>28)&15;
  depth= (idx>>26)&3;  depth+=1;
  lay  = (idx>>21)&31; lay+=1;
  z    = (idx>>20)&1;
  eta  = (idx>>10)&1023;
  phi  = (idx&1023);
}