#include <HcalFlexiHardcodeGeometryLoader.h>
Public Member Functions | |
HcalFlexiHardcodeGeometryLoader () | |
CaloSubdetectorGeometry * | load (const HcalTopology &fTopology) |
Definition at line 15 of file HcalFlexiHardcodeGeometryLoader.h.
HcalFlexiHardcodeGeometryLoader::HcalFlexiHardcodeGeometryLoader | ( | ) |
Definition at line 374 of file HcalFlexiHardcodeGeometryLoader.cc.
{ }
CaloSubdetectorGeometry * HcalFlexiHardcodeGeometryLoader::load | ( | const HcalTopology & | fTopology | ) |
Definition at line 378 of file HcalFlexiHardcodeGeometryLoader.cc.
References CaloSubdetectorGeometry::allocateCorners(), CaloSubdetectorGeometry::allocatePar(), CaloSubdetectorGeometry::cornersMgr(), HcalTopology::firstHEDoublePhiRing(), HcalGeometry::k_NumberOfCellsForCorners, HcalGeometry::k_NumberOfParametersPerShape, HcalGeometry::k_NumberOfShapes, and CaloSubdetectorGeometry::parMgr().
Referenced by HcalHardcodeGeometryEP::produceIdeal().
{ CaloSubdetectorGeometry* hcalGeometry = new HcalGeometry (&fTopology); if( 0 == hcalGeometry->cornersMgr() ) hcalGeometry->allocateCorners ( HcalGeometry::k_NumberOfCellsForCorners ) ; if( 0 == hcalGeometry->parMgr() ) hcalGeometry->allocatePar ( HcalGeometry::k_NumberOfParametersPerShape*HcalGeometry::k_NumberOfShapes, HcalGeometry::k_NumberOfParametersPerShape ) ; // ugly kluge to extract H2 mode from the topology if (fTopology.firstHEDoublePhiRing() < 22) { // regular geometry fillHBHO (hcalGeometry, makeHBCells(), true); fillHBHO (hcalGeometry, makeHOCells(), false); fillHF (hcalGeometry, makeHFCells()); fillHE (hcalGeometry, makeHECells()); } else { // TB geometry fillHBHO (hcalGeometry, makeHBCells(), true); fillHBHO (hcalGeometry, makeHOCells(), false); fillHE (hcalGeometry, makeHECells_H2()); } return hcalGeometry; }