CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
MuonSimHitNumberingScheme Class Reference

#include <MuonSimHitNumberingScheme.h>

Inheritance diagram for MuonSimHitNumberingScheme:
MuonNumberingScheme

Public Member Functions

int baseNumberToUnitNumber (const MuonBaseNumber &) const override
 
 MuonSimHitNumberingScheme (MuonSubDetector *, const MuonGeometryConstants &muonConstants)
 
 ~MuonSimHitNumberingScheme () override
 
- Public Member Functions inherited from MuonNumberingScheme
 MuonNumberingScheme ()
 
virtual ~MuonNumberingScheme ()
 

Private Attributes

MuonSubDetectortheDetector
 
MuonNumberingSchemetheNumbering
 

Detailed Description

wrapper class to handle numbering schemes for the different MuonSubDetector's

Author
Arno Straessner, CERN arno..nosp@m.stra.nosp@m.essne.nosp@m.r@ce.nosp@m.rn.ch

Definition at line 19 of file MuonSimHitNumberingScheme.h.

Constructor & Destructor Documentation

◆ MuonSimHitNumberingScheme()

MuonSimHitNumberingScheme::MuonSimHitNumberingScheme ( MuonSubDetector d,
const MuonGeometryConstants muonConstants 
)

Definition at line 11 of file MuonSimHitNumberingScheme.cc.

References ztail::d, MuonSubDetector::isBarrel(), MuonSubDetector::isEndcap(), MuonSubDetector::isGEM(), MuonSubDetector::isME0(), MuonSubDetector::isRPC(), theDetector, and theNumbering.

11  {
12  theDetector = d;
13  if (theDetector->isBarrel()) {
14  theNumbering = new DTNumberingScheme(muonConstants);
15  } else if (theDetector->isEndcap()) {
16  theNumbering = new CSCNumberingScheme(muonConstants);
17  } else if (theDetector->isRPC()) {
18  theNumbering = new RPCNumberingScheme(muonConstants);
19  } else if (theDetector->isGEM()) {
20  theNumbering = new GEMNumberingScheme(muonConstants);
21  } else if (theDetector->isME0()) {
22  theNumbering = new ME0NumberingScheme(muonConstants);
23  }
24 }
d
Definition: ztail.py:151
MuonNumberingScheme * theNumbering

◆ ~MuonSimHitNumberingScheme()

MuonSimHitNumberingScheme::~MuonSimHitNumberingScheme ( )
override

Definition at line 26 of file MuonSimHitNumberingScheme.cc.

References theNumbering.

26 { delete theNumbering; }
MuonNumberingScheme * theNumbering

Member Function Documentation

◆ baseNumberToUnitNumber()

int MuonSimHitNumberingScheme::baseNumberToUnitNumber ( const MuonBaseNumber num) const
overridevirtual

Reimplemented from MuonNumberingScheme.

Definition at line 28 of file MuonSimHitNumberingScheme.cc.

References MuonNumberingScheme::baseNumberToUnitNumber(), EgammaValidation_cff::num, and theNumbering.

Referenced by MuonSensitiveDetector::setDetUnitId().

28  {
29  if (theNumbering) {
31  } else {
32  return 0;
33  }
34 }
virtual int baseNumberToUnitNumber(const MuonBaseNumber &) const
MuonNumberingScheme * theNumbering

Member Data Documentation

◆ theDetector

MuonSubDetector* MuonSimHitNumberingScheme::theDetector
private

Definition at line 27 of file MuonSimHitNumberingScheme.h.

Referenced by MuonSimHitNumberingScheme().

◆ theNumbering

MuonNumberingScheme* MuonSimHitNumberingScheme::theNumbering
private