CMS 3D CMS Logo

Public Member Functions

HcalFlexiHardcodeGeometryLoader Class Reference

#include <HcalFlexiHardcodeGeometryLoader.h>

List of all members.

Public Member Functions

 HcalFlexiHardcodeGeometryLoader ()
CaloSubdetectorGeometryload (const HcalTopology &fTopology)

Detailed Description

Date:
2008/08/30 20:18:54
Revision:
1.2
Author:
F.Ratnikov, UMd

Definition at line 15 of file HcalFlexiHardcodeGeometryLoader.h.


Constructor & Destructor Documentation

HcalFlexiHardcodeGeometryLoader::HcalFlexiHardcodeGeometryLoader ( )

Definition at line 374 of file HcalFlexiHardcodeGeometryLoader.cc.

{
}

Member Function Documentation

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;
}