CMS 3D CMS Logo

List of all members | Public Member Functions
HcalTB04XtalNumberingScheme Class Reference

#include <SimG4CMS/HcalTestBeam/interface/HcalTB04XtalNumberingScheme.h>

Inheritance diagram for HcalTB04XtalNumberingScheme:
EcalNumberingScheme CaloNumberingScheme

Public Member Functions

uint32_t getUnitID (const EcalBaseNumber &baseNumber) const override
 
 HcalTB04XtalNumberingScheme ()
 
 ~HcalTB04XtalNumberingScheme () override
 
- Public Member Functions inherited from EcalNumberingScheme
 EcalNumberingScheme ()
 
 ~EcalNumberingScheme () override
 
- Public Member Functions inherited from CaloNumberingScheme
 CaloNumberingScheme (int iv=0)
 Constructor with optional verbosity control. More...
 
void setVerbosity (int)
 Verbosity setting. More...
 
virtual ~CaloNumberingScheme ()
 

Additional Inherited Members

- Protected Attributes inherited from CaloNumberingScheme
int verbosity
 Verbosity field: Zero = quiet, increasing integers mean more output. More...
 

Detailed Description

Description: Numbering scheme for crystal calorimeter in 2004 test beam

Usage: Sets up unique identifier for crystals in 2004 test beam

Definition at line 24 of file HcalTB04XtalNumberingScheme.h.

Constructor & Destructor Documentation

◆ HcalTB04XtalNumberingScheme()

HcalTB04XtalNumberingScheme::HcalTB04XtalNumberingScheme ( )

Definition at line 26 of file HcalTB04XtalNumberingScheme.cc.

27 #ifdef EDM_ML_DEBUG
28  edm::LogVerbatim("HcalTBSim") << "Creating HcalTB04XtalNumberingScheme";
29 #endif
30 }
Log< level::Info, true > LogVerbatim

◆ ~HcalTB04XtalNumberingScheme()

HcalTB04XtalNumberingScheme::~HcalTB04XtalNumberingScheme ( )
override

Definition at line 32 of file HcalTB04XtalNumberingScheme.cc.

32  {
33 #ifdef EDM_ML_DEBUG
34  edm::LogVerbatim("HcalTBSim") << "Deleting HcalTB04XtalNumberingScheme";
35 #endif
36 }
Log< level::Info, true > LogVerbatim

Member Function Documentation

◆ getUnitID()

uint32_t HcalTB04XtalNumberingScheme::getUnitID ( const EcalBaseNumber baseNumber) const
overridevirtual

Implements EcalNumberingScheme.

Definition at line 42 of file HcalTB04XtalNumberingScheme.cc.

References TauDecayModes::dec, EcalBaseNumber::getCopyNumber(), EcalBaseNumber::getLevels(), heavyIonCSV_trainingSettings::idx, and HcalTestNumbering::packHcalIndex().

42  {
43  int idx = 0, idl = 0;
44  if (baseNumber.getLevels() < 1) {
45  edm::LogWarning("HcalTBSim") << "HcalTB04XtalNumberingScheme::getUnitID: "
46  << "No level found in EcalBaseNumber "
47  << "Returning 0";
48  } else {
49  idx = baseNumber.getCopyNumber(0);
50  if (baseNumber.getLevels() > 1)
51  idl = baseNumber.getCopyNumber(1);
52  }
53  int det = 10;
54  uint32_t idunit = HcalTestNumbering::packHcalIndex(det, 0, 1, idl, idx, 1);
55 
56 #ifdef EDM_ML_DEBUG
57  edm::LogVerbatim("HcalTBSim") << "HcalTB04XtalNumberingScheme : Crystal " << idx << " Layer " << idl << " UnitID = 0x"
58  << std::hex << idunit << std::dec;
59 #endif
60  return idunit;
61 }
Log< level::Info, true > LogVerbatim
int getCopyNumber(int level) const
static uint32_t packHcalIndex(int det, int z, int depth, int eta, int phi, int lay)
int getLevels() const
Log< level::Warning, false > LogWarning