#include <SimG4CMS/HcalTestBeam/interface/HcalTB04XtalNumberingScheme.h>
Public Member Functions | |
virtual uint32_t | getUnitID (const EcalBaseNumber &baseNumber) const |
HcalTB04XtalNumberingScheme () | |
~HcalTB04XtalNumberingScheme () |
Usage: Sets up unique identifier for crystals in 2004 test beam
Definition at line 25 of file HcalTB04XtalNumberingScheme.h.
HcalTB04XtalNumberingScheme::HcalTB04XtalNumberingScheme | ( | ) |
Definition at line 27 of file HcalTB04XtalNumberingScheme.cc.
00027 : 00028 EcalNumberingScheme() { 00029 edm::LogInfo("HcalTBSim") << "Creating HcalTB04XtalNumberingScheme"; 00030 }
HcalTB04XtalNumberingScheme::~HcalTB04XtalNumberingScheme | ( | ) |
Definition at line 32 of file HcalTB04XtalNumberingScheme.cc.
00032 { 00033 edm::LogInfo("HcalTBSim") << "Deleting HcalTB04XtalNumberingScheme"; 00034 }
uint32_t HcalTB04XtalNumberingScheme::getUnitID | ( | const EcalBaseNumber & | baseNumber | ) | const [virtual] |
Implements EcalNumberingScheme.
Definition at line 40 of file HcalTB04XtalNumberingScheme.cc.
References EcalBaseNumber::getCopyNumber(), EcalBaseNumber::getLevels(), LogDebug, and HcalTestNumbering::packHcalIndex().
00040 { 00041 00042 int idx=0, idl=0; 00043 if (baseNumber.getLevels()<1) { 00044 edm::LogWarning("HcalTBSim") << "HcalTB04XtalNumberingScheme::getUnitID: " 00045 << "No level found in EcalBaseNumber " 00046 << "Returning 0"; 00047 } else { 00048 idx = baseNumber.getCopyNumber(0); 00049 if (baseNumber.getLevels() > 1) idl = baseNumber.getCopyNumber(1); 00050 } 00051 int det = 10; 00052 uint32_t idunit = HcalTestNumbering::packHcalIndex(det,0,1,idl,idx,1); 00053 00054 LogDebug("HcalTBSim") << "HcalTB04XtalNumberingScheme : Crystal " << idx 00055 << " Layer " << idl << " UnitID = 0x" << std::hex 00056 << idunit << std::dec; 00057 00058 return idunit; 00059 00060 }