#include <CaloSubdetectorGeometry.h>
Public Types | |
typedef CaloCellGeometry::CCGFloat | CCGFloat |
typedef std::vector < CaloCellGeometry const * > | CellSet |
typedef std::set< DetId > | DetIdSet |
typedef std::vector< CCGFloat > | DimVec |
typedef std::vector< unsigned int > | IVec |
typedef CaloCellGeometry::ParMgr | ParMgr |
typedef CaloCellGeometry::ParVec | ParVec |
typedef CaloCellGeometry::ParVecVec | ParVecVec |
typedef std::vector< CCGFloat > | TrVec |
Public Member Functions | |
void | allocateCorners (CaloCellGeometry::CornersVec::size_type n) |
void | allocatePar (ParVec::size_type n, unsigned int m) |
CaloSubdetectorGeometry () | |
CaloCellGeometry::CornersMgr * | cornersMgr () |
CCGFloat | deltaEta (const DetId &detId) const |
CCGFloat | deltaPhi (const DetId &detId) const |
virtual void | fillDefaultNamedParameters () const |
virtual DetIdSet | getCells (const GlobalPoint &r, double dR) const |
Get a list of all cells within a dR of the given cell. More... | |
virtual CellSet | getCellSet (const GlobalPoint &r, double dR) const |
virtual DetId | getClosestCell (const GlobalPoint &r) const |
virtual const CaloCellGeometry * | getGeometry (const DetId &id) const |
Get the cell geometry of a given detector id. Should return false if not found. More... | |
virtual void | getSummary (TrVec &trVector, IVec &iVector, DimVec &dimVector, IVec &dinsVector) const |
virtual const std::vector < DetId > & | getValidDetIds (DetId::Detector det=DetId::Detector(0), int subdet=0) const |
Get a list of valid detector ids (for the given subdetector) More... | |
virtual void | initializeParms () |
virtual void | newCell (const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)=0 |
virtual unsigned int | numberOfParametersPerShape () const |
virtual unsigned int | numberOfShapes () const |
virtual unsigned int | numberOfTransformParms () const |
ParMgr * | parMgr () |
const ParMgr * | parMgrConst () const |
ParVecVec & | parVecVec () |
const ParVecVec & | parVecVec () const |
virtual bool | present (const DetId &id) const |
is this detid present in the geometry? More... | |
virtual | ~CaloSubdetectorGeometry () |
The base class DOES assume that it owns the CaloCellGeometry objects. More... | |
Protected Member Functions | |
void | addValidID (const DetId &id) |
virtual const CaloCellGeometry * | cellGeomPtr (uint32_t index) const =0 |
virtual unsigned int | indexFor (const DetId &id) const |
virtual unsigned int | sizeForDenseIndex (const DetId &id) const |
Static Protected Member Functions | |
static CCGFloat | deltaR (const GlobalPoint &p1, const GlobalPoint &p2) |
Protected Attributes | |
ParVecVec | m_parVecVec |
std::vector< DetId > | m_validIds |
Private Member Functions | |
CaloSubdetectorGeometry (const CaloSubdetectorGeometry &) | |
avoid copies More... | |
CaloSubdetectorGeometry & | operator= (const CaloSubdetectorGeometry &) |
Private Attributes | |
CaloCellGeometry::CornersMgr * | m_cmgr |
std::atomic< std::vector < CCGFloat > * > | m_deltaEta |
std::atomic< std::vector < CCGFloat > * > | m_deltaPhi |
ParMgr * | m_parMgr |
bool | m_sortedIds |
Base class for a geometry container for a specific calorimetry subdetector.
Definition at line 24 of file CaloSubdetectorGeometry.h.
Definition at line 28 of file CaloSubdetectorGeometry.h.
typedef std::vector<CaloCellGeometry const *> CaloSubdetectorGeometry::CellSet |
Definition at line 27 of file CaloSubdetectorGeometry.h.
typedef std::set<DetId> CaloSubdetectorGeometry::DetIdSet |
Definition at line 30 of file CaloSubdetectorGeometry.h.
typedef std::vector<CCGFloat> CaloSubdetectorGeometry::DimVec |
Definition at line 39 of file CaloSubdetectorGeometry.h.
typedef std::vector<unsigned int> CaloSubdetectorGeometry::IVec |
Definition at line 38 of file CaloSubdetectorGeometry.h.
Definition at line 33 of file CaloSubdetectorGeometry.h.
Definition at line 34 of file CaloSubdetectorGeometry.h.
Definition at line 35 of file CaloSubdetectorGeometry.h.
typedef std::vector<CCGFloat> CaloSubdetectorGeometry::TrVec |
Definition at line 37 of file CaloSubdetectorGeometry.h.
CaloSubdetectorGeometry::CaloSubdetectorGeometry | ( | ) |
Definition at line 13 of file CaloSubdetectorGeometry.cc.
|
virtual |
The base class DOES assume that it owns the CaloCellGeometry objects.
Definition at line 21 of file CaloSubdetectorGeometry.cc.
References m_cmgr, m_deltaEta, m_deltaPhi, and m_parMgr.
|
private |
avoid copies
|
protected |
Definition at line 30 of file CaloSubdetectorGeometry.cc.
References m_validIds.
Referenced by EcalTBHodoscopeGeometry::newCell(), HcalDDDGeometry::newCell(), ZdcGeometry::newCell(), CaloTowerGeometry::newCell(), CastorGeometry::newCell(), EcalPreshowerGeometry::newCell(), HcalGeometry::newCell(), EcalEndcapGeometry::newCell(), and EcalBarrelGeometry::newCell().
void CaloSubdetectorGeometry::allocateCorners | ( | CaloCellGeometry::CornersVec::size_type | n | ) |
Definition at line 130 of file CaloSubdetectorGeometry.cc.
References assert(), CaloCellGeometry::k_cornerSize, m_cmgr, and m_validIds.
Referenced by HGCalGeometryLoader::build(), CastorHardcodeGeometryLoader::fill(), ZdcHardcodeGeometryLoader::fill(), CaloTowerHardcodeGeometryLoader::load(), HcalHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), HcalDDDGeometryLoader::load(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
void CaloSubdetectorGeometry::allocatePar | ( | ParVec::size_type | n, |
unsigned int | m | ||
) |
Definition at line 140 of file CaloSubdetectorGeometry.cc.
References assert(), and m_parMgr.
Referenced by HGCalGeometryLoader::build(), CastorHardcodeGeometryLoader::fill(), ZdcHardcodeGeometryLoader::fill(), CaloTowerHardcodeGeometryLoader::load(), HcalHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), HcalDDDGeometryLoader::load(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
protectedpure virtual |
Implemented in EcalBarrelGeometry, EcalEndcapGeometry, EcalPreshowerGeometry, HGCalGeometry, CaloTowerGeometry, CastorGeometry, ZdcGeometry, HcalDDDGeometry, and EcalTBHodoscopeGeometry.
Referenced by deltaEta(), deltaPhi(), getGeometry(), and getSummary().
|
inline |
Definition at line 82 of file CaloSubdetectorGeometry.h.
References m_cmgr.
Referenced by CastorHardcodeGeometryLoader::fill(), ZdcHardcodeGeometryLoader::fill(), CaloTowerHardcodeGeometryLoader::load(), HcalHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), HcalDDDGeometryLoader::load(), EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry(), EcalTBHodoscopeGeometry::newCell(), HcalDDDGeometry::newCell(), HGCalGeometry::newCell(), ZdcGeometry::newCell(), CaloTowerGeometry::newCell(), CastorGeometry::newCell(), EcalPreshowerGeometry::newCell(), HcalGeometry::newCell(), EcalEndcapGeometry::newCell(), and EcalBarrelGeometry::newCell().
Definition at line 274 of file CaloSubdetectorGeometry.cc.
References cellGeomPtr(), PV3DBase< T, PVType, FrameType >::eta(), CaloCellGeometry::getCorners(), i, indexFor(), m_deltaEta, and sizeForDenseIndex().
Definition at line 221 of file CaloSubdetectorGeometry.cc.
References cellGeomPtr(), CaloCellGeometry::getCorners(), i, indexFor(), m_deltaPhi, M_PI, PV3DBase< T, PVType, FrameType >::phi(), and sizeForDenseIndex().
|
inlinestaticprotected |
|
inlinevirtual |
Definition at line 96 of file CaloSubdetectorGeometry.h.
References mathSSE::return().
|
virtual |
Get a list of all cells within a dR of the given cell.
The default implementation makes a loop over all cell geometries. Cleverer implementations are suggested to use rough conversions between eta/phi and ieta/iphi and test on the boundaries.
Reimplemented in EcalBarrelGeometry, EcalEndcapGeometry, HGCalGeometry, and HcalGeometry.
Definition at line 85 of file CaloSubdetectorGeometry.cc.
References reco::deltaR2(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, eta, PV3DBase< T, PVType, FrameType >::eta(), getGeometry(), CaloCellGeometry::getPosition(), i, M_PI, m_validIds, AlCaHLTBitMon_ParallelJobs::p, phi, and PV3DBase< T, PVType, FrameType >::phi().
Referenced by egammaisolation::EgammaRecHitExtractor::collect(), HcalGeometry::getCells(), EcalEndcapGeometry::getCells(), EcalBarrelGeometry::getCells(), getCellSet(), EgammaRecHitIsolation::getSum_(), CaloDualConeSelector< HBHERecHit >::selectCallback(), and CaloConeSelector< T >::selectCallback().
|
virtual |
Definition at line 121 of file CaloSubdetectorGeometry.cc.
References getCells(), and getGeometry().
|
virtual |
Reimplemented in EcalBarrelGeometry, EcalEndcapGeometry, HGCalGeometry, EcalPreshowerGeometry, CastorGeometry, HcalGeometry, and HcalDDDGeometry.
Definition at line 56 of file CaloSubdetectorGeometry.cc.
References reco::deltaR2(), eta, PV3DBase< T, PVType, FrameType >::eta(), getGeometry(), CaloCellGeometry::getPosition(), i, cmsHarvester::index, m_validIds, AlCaHLTBitMon_ParallelJobs::p, phi, and PV3DBase< T, PVType, FrameType >::phi().
Referenced by HcalCorrPFCalculation::analyze(), IsolatedTracksCone::analyze(), spr::chargeIsolation(), spr::chargeIsolationHcal(), spr::findDetIdCalo(), CaloGeometryHelper::getClosestCell(), HoECalculator::getHoE(), PhysicsTowerOrganizer::PhysicsTowerOrganizer(), spr::propagateCALO(), and spr::propagateCosmicCALO().
|
virtual |
Get the cell geometry of a given detector id. Should return false if not found.
Reimplemented in HcalGeometry, CaloTowerGeometry, and HGCalGeometry.
Definition at line 44 of file CaloSubdetectorGeometry.cc.
References cellGeomPtr().
Referenced by PreshowerHitMaker::addHit(), BetaCalculatorECAL::addStepToXtal(), EcalTPGParamBuilder::analyze(), DiJetAnalyzer::analyze(), GammaJetAnalysis::analyze(), EcalSelectiveReadoutValidation::analyzeEB(), EcalSelectiveReadoutValidation::analyzeEE(), EcalBoundaryInfoCalculator< EcalDetId >::boundaryRecHits(), CaloRecoTauAlgorithm::buildCaloTau(), CaloGeometryHelper::buildCrystalArray(), SuperClusterShapeAlgo::Calculate_Covariances(), ClusterShapeAlgo::Calculate_Covariances(), ClusterShapeAlgo::Calculate_EnergyDepTopology(), PositionCalc::Calculate_Location(), ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), CaloCellCrossing::CaloCellCrossing(), CaloTowersCreationAlgo::convert(), EcalClusterToolsT< noZS >::covariances(), PFCTRecHitProducer::createHcalRecHit(), DistanceToCell::DistanceToCell(), EcalHitMaker::EcalHitMaker(), InvRingCalib::EERingDef(), MuonCaloDistanceProducer::fillDistanceMap(), HCALRecHitAnalyzer::FillGeometry(), EcalDeadCellBoundaryEnergyFilter::filter(), EcalBoundaryInfoCalculator< EcalDetId >::gapRecHits(), getCells(), getCellSet(), EcalDeadCellTriggerPrimitiveFilter::getChannelStatusMaps(), EcalDeadCellDeltaRFilter::getChannelStatusMaps(), EcalEndcapGeometry::getClosestBarrelCells(), CaloGeometryHelper::getClosestCell(), CastorGeometry::getClosestCell(), getClosestCell(), EcalEndcapGeometry::getClosestCell(), EcalBarrelGeometry::getClosestCell(), EcalPreshowerGeometry::getClosestCellInPlane(), HCaloDetIdAssociator::getDetIdPoints(), CaloDetIdAssociator::getDetIdPoints(), EcalClusterToolsT< noZS >::getEnergyDepTopology(), CaloGeometry::getGeometry(), EcalHitMaker::getHits(), CaloGeometry::getPosition(), HCaloDetIdAssociator::getPosition(), CaloDetIdAssociator::getPosition(), EcalClusterLocalContCorrection::getValue(), EcalBasicClusterLocalContCorrection::getValue(), EcalClusterCrackCorrection::getValue(), CalorimetryManager::HDShowerSimulation(), PFHBHERecHitCreator::importRecHits(), PFPSRecHitCreator::importRecHits(), PFHFRecHitCreator::importRecHits(), PFHBHERecHitCreatorMaxSample::importRecHits(), PhotonFixCMS::initialise(), CaloGeometryHelper::initialize(), EcalPreshowerGeometry::initializeParms(), CaloDetIdAssociator::insideElement(), HCaloDetIdAssociator::insideElement(), IslandClusterAlgo::makeClusters(), CosmicClusterAlgo::makeClusters(), Multi5x5ClusterAlgo::makeClusters(), PreshowerPhiClusterAlgo::makeOneCluster(), PreshowerClusterAlgo::makeOneCluster(), reco::makeSpecific(), EcalClusterToolsT< noZS >::meanClusterPosition(), DistanceToCell::operator()(), present(), HLTRecHitInAllL1RegionsProducer< RecHitType >::produce(), CalorimetryManager::reconstructHCAL(), EcalRecHitWorkerRecover::run(), EcalSelectiveReadoutValidation::setTtEtSums(), EcalSelectiveReadoutSuppressor::setTtFlags(), EcalGeomPhiSymHelper::setup(), CaloHitResponse::timeOfFlight(), ECAL2DPositionCalcWithDepthCorr::update(), and ValidateGeometry::validateCaloGeometry().
|
virtual |
Reimplemented in HcalGeometry, and CaloTowerGeometry.
Definition at line 148 of file CaloSubdetectorGeometry.cc.
References assert(), begin, EZArrayFL< T >::begin(), cellGeomPtr(), EZArrayFL< T >::end(), CaloCellGeometry::getPosition(), CaloCellGeometry::getTransform(), i, relval_steps::k, m_validIds, numberOfParametersPerShape(), numberOfShapes(), numberOfTransformParms(), convertSQLiteXML::ok, CaloCellGeometry::param(), parVecVec(), MetAnalyzer::pv(), findQualityFiles::rr, and groupFilesInBlocks::tt.
Referenced by CaloGeometryDBEP< T, U >::produceAligned().
|
virtual |
Get a list of valid detector ids (for the given subdetector)
Reimplemented in HGCalGeometry, HcalGeometry, and HcalDDDGeometry.
Definition at line 37 of file CaloSubdetectorGeometry.cc.
References m_validIds.
Referenced by testEcalTPGScale::analyze(), EcalTPGParamBuilder::analyze(), CaloGeometryHelper::buildCrystalArray(), CaloGeometryHelper::buildNeighbourArray(), PositionCalc::Calculate_Location(), CaloCellCrossing::CaloCellCrossing(), PFECALHashNavigator::ecalNeighbArray(), HcalDDDGeometry::fillDetIds(), HcalGeometry::fillDetIds(), HCALRecHitAnalyzer::FillGeometry(), CastorGeometry::getClosestCell(), HcalDDDGeometry::getValidDetIds(), HcalGeometry::getValidDetIds(), EcalPreshowerGeometry::initializeParms(), EcalTPCondAnalyzer::printCRYSTAL(), ECAL2DPositionCalcWithDepthCorr::update(), EcalDigiProducer::updateGeometry(), and ValidateGeometry::validateCaloGeometry().
|
protectedvirtual |
Reimplemented in HcalGeometry, HGCalGeometry, and CaloTowerGeometry.
Definition at line 324 of file CaloSubdetectorGeometry.cc.
References CaloGenericDetId::denseIndex().
Referenced by deltaEta(), and deltaPhi().
|
inlinevirtual |
Reimplemented in EcalEndcapGeometry, HGCalGeometry, and EcalPreshowerGeometry.
Definition at line 103 of file CaloSubdetectorGeometry.h.
References mathSSE::return().
|
pure virtual |
Implemented in EcalBarrelGeometry, EcalEndcapGeometry, HcalGeometry, EcalPreshowerGeometry, CastorGeometry, CaloTowerGeometry, ZdcGeometry, HGCalGeometry, HcalDDDGeometry, and EcalTBHodoscopeGeometry.
Referenced by HcalHardcodeGeometryLoader::fillHBHO(), HcalFlexiHardcodeGeometryLoader::fillHBHO(), HcalHardcodeGeometryLoader::fillHE(), HcalFlexiHardcodeGeometryLoader::fillHE(), HcalHardcodeGeometryLoader::fillHF(), HcalFlexiHardcodeGeometryLoader::fillHF(), CaloTowerHardcodeGeometryLoader::makeCell(), CastorHardcodeGeometryLoader::makeCell(), ZdcHardcodeGeometryLoader::makeCell(), HcalDDDGeometryLoader::makeCell(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
inlinevirtual |
Reimplemented in EcalEndcapGeometry, EcalBarrelGeometry, EcalPreshowerGeometry, CastorGeometry, CaloTowerGeometry, HcalGeometry, and ZdcGeometry.
Definition at line 93 of file CaloSubdetectorGeometry.h.
Referenced by getSummary().
|
inlinevirtual |
Reimplemented in EcalEndcapGeometry, EcalBarrelGeometry, EcalPreshowerGeometry, CastorGeometry, CaloTowerGeometry, HcalGeometry, and ZdcGeometry.
Definition at line 92 of file CaloSubdetectorGeometry.h.
Referenced by getSummary(), HcalHardcodeGeometryLoader::load(), and HcalFlexiHardcodeGeometryLoader::load().
|
inlinevirtual |
Reimplemented in EcalPreshowerGeometry, and CastorGeometry.
Definition at line 94 of file CaloSubdetectorGeometry.h.
Referenced by CaloTowerGeometry::getSummary(), getSummary(), and HcalGeometry::getSummary().
|
private |
|
inline |
Definition at line 86 of file CaloSubdetectorGeometry.h.
References m_parMgr.
Referenced by HGCalGeometryLoader::build(), CastorHardcodeGeometryLoader::fill(), ZdcHardcodeGeometryLoader::fill(), HcalHardcodeGeometryLoader::fillHBHO(), HcalFlexiHardcodeGeometryLoader::fillHBHO(), HcalHardcodeGeometryLoader::fillHE(), HcalFlexiHardcodeGeometryLoader::fillHE(), HcalHardcodeGeometryLoader::fillHF(), HcalFlexiHardcodeGeometryLoader::fillHF(), CaloTowerHardcodeGeometryLoader::load(), HcalHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), HcalDDDGeometryLoader::load(), CaloTowerHardcodeGeometryLoader::makeCell(), CastorHardcodeGeometryLoader::makeCell(), ZdcHardcodeGeometryLoader::makeCell(), HcalDDDGeometryLoader::makeCell(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
inline |
|
inline |
Definition at line 89 of file CaloSubdetectorGeometry.h.
References m_parVecVec.
Referenced by HGCalGeometryLoader::build(), HcalHardcodeGeometryLoader::fillHBHO(), HcalFlexiHardcodeGeometryLoader::fillHBHO(), HcalHardcodeGeometryLoader::fillHE(), HcalFlexiHardcodeGeometryLoader::fillHE(), HcalHardcodeGeometryLoader::fillHF(), HcalFlexiHardcodeGeometryLoader::fillHF(), CaloTowerGeometry::getSummary(), getSummary(), HcalGeometry::getSummary(), CaloTowerHardcodeGeometryLoader::makeCell(), CastorHardcodeGeometryLoader::makeCell(), ZdcHardcodeGeometryLoader::makeCell(), HcalDDDGeometryLoader::makeCell(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
inline |
|
virtual |
is this detid present in the geometry?
Definition at line 50 of file CaloSubdetectorGeometry.cc.
References getGeometry().
Referenced by spr::extraIds(), EcalBarrelGeometry::getClosestCell(), EcalPreshowerGeometry::getClosestCellInPlane(), and CaloGeometry::present().
|
protectedvirtual |
Reimplemented in HcalGeometry, and CaloTowerGeometry.
Definition at line 326 of file CaloSubdetectorGeometry.cc.
References CaloGenericDetId::sizeForDenseIndexing().
Referenced by deltaEta(), and deltaPhi().
|
private |
Definition at line 126 of file CaloSubdetectorGeometry.h.
Referenced by allocateCorners(), cornersMgr(), and ~CaloSubdetectorGeometry().
|
mutableprivate |
Definition at line 136 of file CaloSubdetectorGeometry.h.
Referenced by deltaEta(), and ~CaloSubdetectorGeometry().
|
mutableprivate |
Definition at line 135 of file CaloSubdetectorGeometry.h.
Referenced by deltaPhi(), and ~CaloSubdetectorGeometry().
|
private |
Definition at line 124 of file CaloSubdetectorGeometry.h.
Referenced by allocatePar(), parMgr(), parMgrConst(), and ~CaloSubdetectorGeometry().
|
protected |
Definition at line 112 of file CaloSubdetectorGeometry.h.
Referenced by parVecVec().
|
private |
Definition at line 132 of file CaloSubdetectorGeometry.h.
|
protected |
Definition at line 120 of file CaloSubdetectorGeometry.h.
Referenced by addValidID(), allocateCorners(), getCells(), getClosestCell(), getSummary(), HGCalGeometry::getValidDetIds(), getValidDetIds(), and HGCalGeometry::newCell().