CMS 3D CMS Logo

CaloCellGeometry Class Reference

Abstract base class for an individual cell's geometry. More...

#include <Geometry/CaloGeometry/interface/CaloCellGeometry.h>

Inheritance diagram for CaloCellGeometry:

calogeom::IdealCastorTrapezoid calogeom::IdealObliquePrism calogeom::IdealZDCTrapezoid calogeom::IdealZPrism PreshowerStrip TruncatedPyramid

List of all members.

Public Types

typedef EZMgrFL< GlobalPointCornersMgr
enum  CornersSize { k_cornerSize = 8 }
typedef EZArrayFL< GlobalPointCornersVec
typedef EZMgrFL< float > ParMgr
typedef EZArrayFL< float > ParVec
typedef std::vector< ParVecParVecVec

Public Member Functions

bool emptyCorners () const
virtual const CornersVecgetCorners () const =0
const GlobalPointgetPosition () const
virtual bool inside (const GlobalPoint &point) const =0
virtual ~CaloCellGeometry ()

Static Public Member Functions

static const float * getParmPtr (const std::vector< float > &vd, ParMgr *mgr, ParVecVec &pvv)

Static Public Attributes

static const float k_ScaleFromDDDtoGeant

Protected Member Functions

 CaloCellGeometry (const CornersVec &cv)
 CaloCellGeometry (CornersVec::const_reference gp, const CornersMgr *mgr)
CornersVecsetCorners () const

Private Attributes

CornersVec m_corners
const GlobalPoint m_refPoint


Detailed Description

Abstract base class for an individual cell's geometry.

Date
2007/09/26 19:26:58
Revision
1.13
Author:
J. Mans, P. Meridiani

Definition at line 19 of file CaloCellGeometry.h.


Member Typedef Documentation

typedef EZMgrFL< GlobalPoint > CaloCellGeometry::CornersMgr

Definition at line 24 of file CaloCellGeometry.h.

typedef EZArrayFL< GlobalPoint > CaloCellGeometry::CornersVec

Definition at line 23 of file CaloCellGeometry.h.

typedef EZMgrFL< float > CaloCellGeometry::ParMgr

Definition at line 28 of file CaloCellGeometry.h.

typedef EZArrayFL<float> CaloCellGeometry::ParVec

Definition at line 26 of file CaloCellGeometry.h.

typedef std::vector<ParVec> CaloCellGeometry::ParVecVec

Definition at line 27 of file CaloCellGeometry.h.


Member Enumeration Documentation

enum CaloCellGeometry::CornersSize

Enumerator:
k_cornerSize 

Definition at line 30 of file CaloCellGeometry.h.

00030 { k_cornerSize = 8 };


Constructor & Destructor Documentation

virtual CaloCellGeometry::~CaloCellGeometry (  )  [inline, virtual]

Definition at line 34 of file CaloCellGeometry.h.

00034 {}

CaloCellGeometry::CaloCellGeometry ( CornersVec::const_reference  gp,
const CornersMgr mgr 
) [inline, protected]

Definition at line 54 of file CaloCellGeometry.h.

00055                                                            :
00056          m_refPoint ( gp  ),
00057          m_corners  ( mgr ) {}

CaloCellGeometry::CaloCellGeometry ( const CornersVec cv  )  [inline, protected]

Definition at line 59 of file CaloCellGeometry.h.

00059                                                : 
00060          m_refPoint ( GlobalPoint( 0.25*( cv[0].x() + cv[1].x() + cv[2].x() + cv[3].x() ),
00061                                    0.25*( cv[0].y() + cv[1].y() + cv[2].y() + cv[3].y() ),
00062                                    0.25*( cv[0].z() + cv[1].z() + cv[2].z() + cv[3].z() )  ) ), 
00063          m_corners  ( cv ) {}


Member Function Documentation

bool CaloCellGeometry::emptyCorners (  )  const [inline]

Definition at line 45 of file CaloCellGeometry.h.

References EZArrayFL< T >::empty(), and m_corners.

Referenced by VisEventSetupService::emptyCorners(), and operator<<().

00045 { return m_corners.empty() ; }

const CaloCellGeometry::CornersVec & CaloCellGeometry::getCorners (  )  const [pure virtual]

Implemented in calogeom::IdealObliquePrism, calogeom::IdealZPrism, PreshowerStrip, TruncatedPyramid, calogeom::IdealCastorTrapezoid, and calogeom::IdealZDCTrapezoid.

Definition at line 6 of file CaloCellGeometry.cc.

References m_corners.

Referenced by VisEBRecHit::analyze(), VisHORecHit::analyze(), VisCaloTower::analyze(), VisEcalRecHit::analyze(), VisHBRecHit::analyze(), VisEERecHit::analyze(), VisBasicCluster::analyze(), VisHERecHit::analyze(), VisHFRecHit::analyze(), PhiSymmetryCalibration::beginJob(), VisEventSetup::build(), VisEventSetupService::buildCaloDet(), CaloGeometryHelper::buildCrystalArray(), PFRecHitProducerECAL::createEcalRecHit(), PFRecHitProducerHCAL::createHcalRecHit(), CaloTowersCreationAlgo::emCrystalShwrPos(), EcalEndcapGeometry::getClosestCell(), calogeom::IdealCastorTrapezoid::getCorners(), calogeom::IdealObliquePrism::getCorners(), VisEventSetupService::getCorners(), calogeom::IdealZPrism::getCorners(), calogeom::IdealZDCTrapezoid::getCorners(), TruncatedPyramid::getCorners(), PreshowerStrip::getCorners(), HCaloDetIdAssociator::getDetIdPoints(), CaloDetIdAssociator::getDetIdPoints(), CaloTowersCreationAlgo::hadSegmentShwrPos(), JetMaker::makeSpecific(), operator<<(), VisPFRecHitTwig::update(), and VisPFClusterTwig::update().

00007 {
00008    return m_corners ;
00009 }

const float * CaloCellGeometry::getParmPtr ( const std::vector< float > &  vd,
CaloCellGeometry::ParMgr mgr,
CaloCellGeometry::ParVecVec pvv 
) [static]

Definition at line 31 of file CaloCellGeometry.cc.

References prof2calltree::back, EZArrayFL< T >::begin(), i, j, same, EZArrayFL< T >::size(), and v.

Referenced by CaloTowerHardcodeGeometryLoader::makeCell(), HcalHardcodeGeometryLoader::makeCell(), CastorHardcodeGeometryLoader::makeCell(), HcalDDDGeometryLoader::makeCell(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().

00035 {
00036    const float* pP ( 0 ) ;
00037 
00038    for( unsigned int ii ( 0 ) ; ii != pvv.size() ; ++ii )
00039    {
00040       const ParVec& v ( pvv[ii] ) ;
00041       assert( v.size() == vv.size() ) ;
00042 
00043       bool same ( true ) ;
00044       for( unsigned int j ( 0 ) ; j != vv.size() ; ++j )
00045       {
00046          same = same && ( vv[j] == v[j] ) ;
00047          if( !same ) break ;
00048       }
00049       if( same )
00050       {
00051          pP = &(*v.begin()) ;
00052          break ;
00053       }
00054    }
00055    if( 0 == pP )
00056    {
00057       pvv.push_back( ParVec( mgr ) ) ;
00058       ParVec& back ( pvv.back() ) ;
00059       for( unsigned int i ( 0 ) ; i != vv.size() ; ++i )
00060       {
00061          back[i] = vv[i] ;
00062       }
00063       pP = &(*back.begin()) ;
00064    }
00065    return pP ;
00066 }

const GlobalPoint& CaloCellGeometry::getPosition (  )  const [inline]

Definition at line 40 of file CaloCellGeometry.h.

References m_refPoint.

Referenced by VisEBRecHit::analyze(), VisHORecHit::analyze(), VisEcalRecHit::analyze(), VisHBRecHit::analyze(), EcalTPGParamBuilder::analyze(), HcalRecHitsValidation::analyze(), VisEERecHit::analyze(), VisHERecHit::analyze(), EcalTrigPrimAnalyzer::analyze(), VisHFRecHit::analyze(), TruncatedPyramid::axis(), PhiSymmetryCalibration::beginJob(), VisEventSetupService::buildCaloDet(), CaloGeometryHelper::buildCrystalArray(), SuperClusterShapeAlgo::Calculate_Covariances(), ClusterShapeAlgo::Calculate_Covariances(), ClusterShapeAlgo::Calculate_EnergyDepTopology(), PositionCalc::Calculate_Location(), CaloTowersCreationAlgo::convert(), EcalClusterTools::covariances(), PFRecHitProducerECAL::createEcalRecHit(), PFRecHitProducerHCAL::createHcalRecHit(), DistanceToCell::DistanceToCell(), EcalHitMaker::EcalHitMaker(), InvRingCalib::EERingDef(), CaloTowersCreationAlgo::emCrystalShwrPos(), GlobalHitsProducer::fillECal(), GlobalHitsProdHist::fillECal(), GlobalHitsAnalyzer::fillECal(), ECALRecHitAnalyzer::FillGeometry(), CaloTowerAnalyzer::FillGeometry(), HCALRecHitAnalyzer::FillGeometry(), GlobalRecHitsAnalyzer::fillHCal(), GlobalHitsAnalyzer::fillHCal(), GlobalHitsProducer::fillHCal(), GlobalHitsProdHist::fillHCal(), GlobalRecHitsProducer::fillHCal(), JetAnalyzer::fillRecHitHists(), PFRecHitProducerECAL::findEcalRecHitGeometry(), VisEventSetupService::getBinNumber(), HardTauAlgorithm::getCellMomentum(), VisEventSetupService::getCellPosition(), EcalEndcapGeometry::getCells(), EcalBarrelGeometry::getCells(), HcalGeometry::getClosestCell(), CaloGeometryHelper::getClosestCell(), EcalBarrelGeometry::getClosestCell(), EcalEndcapGeometry::getClosestCell(), calogeom::IdealCastorTrapezoid::getCorners(), calogeom::IdealObliquePrism::getCorners(), calogeom::IdealZPrism::getCorners(), calogeom::IdealZDCTrapezoid::getCorners(), PreshowerStrip::getCorners(), L2TauNarrowConeIsolationProducer::getECALHits(), L2TauIsolationProducer::getECALHits(), EcalClusterTools::getEnergyDepTopology(), CaloGeometry::getPosition(), CaloDetIdAssociator::getPosition(), HCaloDetIdAssociator::getPosition(), TruncatedPyramid::getPosition(), CaloRecoTauTagInfoAlgorithm::getPositionAndEnergyEcalRecHits(), CaloTowersCreationAlgo::hadSegmentShwrPos(), CaloGeometryHelper::initialize(), EcalRingCalibrationTools::initializeFromGeometry(), PreshowerStrip::inside(), calogeom::IdealZPrism::inside(), calogeom::IdealObliquePrism::inside(), calogeom::IdealCastorTrapezoid::inside(), calogeom::IdealZDCTrapezoid::inside(), JetAnalyzer::MakeCellListFromCaloTowers(), CosmicClusterAlgo::makeClusters(), HybridClusterAlgo::makeClusters(), Multi5x5ClusterAlgo::makeClusters(), IslandClusterAlgo::makeClusters(), JetAnalyzer::MakeEmCellList(), JetAnalyzer::MakeHadCellList(), PreshowerClusterAlgo::makeOneCluster(), EcalClusterTools::meanClusterPosition(), DistanceToCell::operator()(), operator<<(), calogeom::operator<<(), processHits(), JetCrystalsAssociator::produce(), HcalDigiTester::reco(), and CaloHitResponse::timeOfFlight().

00040 { return m_refPoint ; }

virtual bool CaloCellGeometry::inside ( const GlobalPoint point  )  const [pure virtual]

Implemented in calogeom::IdealObliquePrism, calogeom::IdealZPrism, PreshowerStrip, TruncatedPyramid, calogeom::IdealCastorTrapezoid, and calogeom::IdealZDCTrapezoid.

Referenced by CaloDetIdAssociator::insideElement(), and HCaloDetIdAssociator::insideElement().

CornersVec& CaloCellGeometry::setCorners (  )  const [inline, protected]

Definition at line 65 of file CaloCellGeometry.h.

References m_corners.

Referenced by calogeom::IdealCastorTrapezoid::getCorners(), calogeom::IdealObliquePrism::getCorners(), calogeom::IdealZPrism::getCorners(), calogeom::IdealZDCTrapezoid::getCorners(), and PreshowerStrip::getCorners().

00065 { return m_corners ; }


Member Data Documentation

const float CaloCellGeometry::k_ScaleFromDDDtoGeant [static]

Definition at line 32 of file CaloCellGeometry.h.

Referenced by TruncatedPyramid::createCorners(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().

CornersVec CaloCellGeometry::m_corners [mutable, private]

Definition at line 71 of file CaloCellGeometry.h.

Referenced by emptyCorners(), getCorners(), and setCorners().

const GlobalPoint CaloCellGeometry::m_refPoint [private]

Definition at line 69 of file CaloCellGeometry.h.

Referenced by getPosition().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:15:44 2009 for CMSSW by  doxygen 1.5.4