#include <CaloSubdetectorGeometry.h>
Public Types | |
typedef CaloCellGeometry::CCGFloat | CCGFloat |
using | CellMayOwnPtr = CaloCellGeometryMayOwnPtr |
using | CellPtr = CaloCellGeometryPtr |
typedef std::vector< std::shared_ptr< const CaloCellGeometry > > | 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 () | |
CaloSubdetectorGeometry (const CaloSubdetectorGeometry &)=delete | |
avoid copies More... | |
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 CellMayOwnPtr | 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 |
CaloSubdetectorGeometry & | operator= (const CaloSubdetectorGeometry &)=delete |
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 bool | valid (const DetId &id) const |
virtual | ~CaloSubdetectorGeometry () |
The base class DOES assume that it owns the CaloCellGeometry objects. More... | |
Protected Member Functions | |
void | addValidID (const DetId &id) |
virtual CellPtr | cellGeomPtr (uint32_t index) const |
virtual CellPtr | getGeometryRawPtr (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 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 25 of file CaloSubdetectorGeometry.h.
Definition at line 28 of file CaloSubdetectorGeometry.h.
Definition at line 41 of file CaloSubdetectorGeometry.h.
Definition at line 40 of file CaloSubdetectorGeometry.h.
typedef std::vector<std::shared_ptr<const CaloCellGeometry> > 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 38 of file CaloSubdetectorGeometry.h.
typedef std::vector<unsigned int> CaloSubdetectorGeometry::IVec |
Definition at line 37 of file CaloSubdetectorGeometry.h.
Definition at line 32 of file CaloSubdetectorGeometry.h.
Definition at line 33 of file CaloSubdetectorGeometry.h.
Definition at line 34 of file CaloSubdetectorGeometry.h.
typedef std::vector<CCGFloat> CaloSubdetectorGeometry::TrVec |
Definition at line 36 of file CaloSubdetectorGeometry.h.
CaloSubdetectorGeometry::CaloSubdetectorGeometry | ( | ) |
Definition at line 15 of file CaloSubdetectorGeometry.cc.
|
virtual |
The base class DOES assume that it owns the CaloCellGeometry objects.
Definition at line 18 of file CaloSubdetectorGeometry.cc.
References m_cmgr, m_deltaEta, m_deltaPhi, and m_parMgr.
|
delete |
avoid copies
|
protected |
Definition at line 27 of file CaloSubdetectorGeometry.cc.
References EcalPhiSymFlatTableProducers_cfi::id, pfDeepBoostedJetPreprocessParams_cfi::lower_bound, and m_validIds.
Referenced by EcalTBHodoscopeGeometry::newCell(), HcalDDDGeometry::newCell(), CaloTowerGeometry::newCell(), ZdcGeometry::newCell(), CastorGeometry::newCell(), EcalPreshowerGeometry::newCell(), EcalEndcapGeometry::newCell(), EcalBarrelGeometry::newCell(), and HcalGeometry::newCell().
void CaloSubdetectorGeometry::allocateCorners | ( | CaloCellGeometry::CornersVec::size_type | n | ) |
Definition at line 107 of file CaloSubdetectorGeometry.cc.
References cms::cuda::assert(), CaloCellGeometry::k_cornerSize, m_cmgr, m_validIds, and create_idmaps::n.
Referenced by HcalHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
void CaloSubdetectorGeometry::allocatePar | ( | ParVec::size_type | n, |
unsigned int | m | ||
) |
Definition at line 114 of file CaloSubdetectorGeometry.cc.
References cms::cuda::assert(), visualization-live-secondInstance_cfg::m, m_parMgr, and create_idmaps::n.
Referenced by HcalHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
protectedvirtual |
Reimplemented in HGCalGeometry, and HGCalTBGeometry.
Definition at line 261 of file CaloSubdetectorGeometry.cc.
References getGeometryRawPtr().
Referenced by EcalEndcapGeometry::avgAbsZFrontFaceCenter(), EcalBarrelGeometry::avgRadiusXYFrontFaceCenter(), deltaEta(), deltaPhi(), CaloTowerGeometry::getGeometry(), getGeometry(), HcalGeometry::getGeometryBase(), CaloTowerGeometry::getSummary(), ZdcGeometry::getSummary(), getSummary(), HcalGeometry::getSummary(), and EcalEndcapGeometry::initializeParms().
|
inline |
Definition at line 88 of file CaloSubdetectorGeometry.h.
References m_cmgr.
Referenced by HcalHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry(), EcalTBHodoscopeGeometry::newCell(), CaloTowerGeometry::newCell(), ZdcGeometry::newCell(), HGCalTBGeometry::newCell(), HGCalGeometry::newCell(), CastorGeometry::newCell(), EcalPreshowerGeometry::newCell(), EcalEndcapGeometry::newCell(), EcalBarrelGeometry::newCell(), HcalDDDGeometry::newCellImpl(), and HcalGeometry::newCellImpl().
Definition at line 221 of file CaloSubdetectorGeometry.cc.
References cellGeomPtr(), hcalRecHitTable_cff::detId, PV3DBase< T, PVType, FrameType >::eta(), mps_fire::i, indexFor(), m_deltaEta, and sizeForDenseIndex().
Definition at line 181 of file CaloSubdetectorGeometry.cc.
References cellGeomPtr(), hcalRecHitTable_cff::detId, mps_fire::i, indexFor(), m_deltaPhi, M_PI, PV3DBase< T, PVType, FrameType >::phi(), and sizeForDenseIndex().
|
inlinestaticprotected |
Definition at line 121 of file CaloSubdetectorGeometry.h.
References reco::deltaR(), LaserDQM_cfg::p1, and SiStripOfflineCRack_cfg::p2.
|
inlinevirtual |
Definition at line 102 of file CaloSubdetectorGeometry.h.
|
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 HGCalGeometry, HGCalTBGeometry, EcalBarrelGeometry, EcalEndcapGeometry, and HcalGeometry.
Definition at line 66 of file CaloSubdetectorGeometry.cc.
References reco::deltaR2(), HGC3DClusterGenMatchSelector_cfi::dR, ALPAKA_ACCELERATOR_NAMESPACE::dR2(), PVValHelper::eta, getGeometry(), mps_fire::i, M_PI, m_validIds, AlCaHLTBitMon_ParallelJobs::p, phi, and alignCSCRings::r.
Referenced by egammaisolation::EgammaRecHitExtractor::collect(), HcalGeometry::getCells(), EcalEndcapGeometry::getCells(), EcalBarrelGeometry::getCells(), getCellSet(), EgammaRecHitIsolation::getSum_(), CaloDualConeSelector< T >::selectCallback(), and CaloConeSelector< T >::selectCallback().
|
virtual |
Definition at line 96 of file CaloSubdetectorGeometry.cc.
References hgcalTBTopologyTester_cfi::cells, HGC3DClusterGenMatchSelector_cfi::dR, getCells(), getGeometry(), and alignCSCRings::r.
|
virtual |
Reimplemented in HGCalGeometry, HGCalTBGeometry, EcalBarrelGeometry, EcalEndcapGeometry, HcalGeometry, EcalPreshowerGeometry, CastorGeometry, and HcalDDDGeometry.
Definition at line 44 of file CaloSubdetectorGeometry.cc.
References pv::closest(), reco::deltaR2(), ALPAKA_ACCELERATOR_NAMESPACE::dR2(), PVValHelper::eta, getGeometry(), mps_fire::i, m_validIds, AlCaHLTBitMon_ParallelJobs::p, phi, and alignCSCRings::r.
Referenced by IsolatedTracksCone::analyze(), CaloTowerConstituentsMapBuilder::assignEEtoHE(), spr::chargeIsolation(), spr::chargeIsolationEcal(), spr::chargeIsolationHcal(), reco::EcalClustersGraph::clusterPosition(), AlCaHOCalibProducer::fillHOStore(), spr::findDetIdCalo(), PhysicsTowerOrganizer::PhysicsTowerOrganizer(), spr::propagateCALO(), spr::propagateCosmicCALO(), spr::propagateHCAL(), spr::propagateHCALBack(), and spr::propagateIdECAL().
|
virtual |
Get the cell geometry of a given detector id. Should return false if not found.
Reimplemented in HGCalGeometry, HGCalTBGeometry, CaloTowerGeometry, and HcalGeometry.
Definition at line 36 of file CaloSubdetectorGeometry.cc.
References cellGeomPtr().
Referenced by DRNCorrectionProducerT< T >::acquire(), PreshowerHitMaker::addHit(), EcalEBTrigPrimAnalyzer::analyze(), HcalSimHitsValidation::analyze(), HcalRecHitsValidation::analyze(), EcalTPGParamBuilder::analyze(), EcalSelectiveReadoutValidation::analyzeEB(), EcalSelectiveReadoutValidation::analyzeEE(), CaloTowerConstituentsMapBuilder::assignEEtoHE(), EcalBoundaryInfoCalculator< EBDetId >::boundaryRecHits(), CaloGeometryHelper::buildCrystalArray(), SuperClusterShapeAlgo::Calculate_Covariances(), PositionCalc::Calculate_Location(), ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), CaloCellCrossing::CaloCellCrossing(), reco::EcalClustersGraph::computeCovariances(), CaloTowersCreationAlgo::convert(), EcalBarrelClusterFastTimer::correctTimeToVertex(), EcalClusterToolsT< noZS >::covariances(), DistanceToCell::DistanceToCell(), TrackDetMatchInfo::dumpGeometry(), EcalHitMaker::EcalHitMaker(), InvRingCalib::EERingDef(), HCALRecHitAnalyzer::FillGeometry(), ECALRecHitAnalyzer::FillGeometry(), HcalRecHitsValidation::fillRecHitsTmp(), EcalDeadCellBoundaryEnergyFilter::filter(), EcalBoundaryInfoCalculator< EBDetId >::gapRecHits(), getCells(), getCellSet(), EcalDeadCellTriggerPrimitiveFilter::getChannelStatusMaps(), EcalDeadCellDeltaRFilter::getChannelStatusMaps(), EcalEndcapGeometry::getClosestBarrelCells(), CaloGeometryHelper::getClosestCell(), CastorGeometry::getClosestCell(), EcalEndcapGeometry::getClosestCell(), getClosestCell(), EcalBarrelGeometry::getClosestCell(), EcalPreshowerGeometry::getClosestCellInPlane(), HCaloDetIdAssociator::getDetIdPoints(), DisappearingMuonsSkimming::getECALIsolation(), EcalClusterToolsT< noZS >::getEnergyDepTopology(), PFAnalysis::getHitPosition(), EcalHitMaker::getHits(), CaloDetIdAssociator::getPosition(), TrackDetMatchInfo::getPosition(), hgcal::RecHitTools::getScintDEtaDPhi(), PFHBHERecHitCreator::importRecHits(), PFPSRecHitCreator::importRecHits(), PFHFRecHitCreator::importRecHits(), PFEcalBarrelRecHitCreator::importRecHits(), PFEcalEndcapRecHitCreator::importRecHits(), CaloGeometryHelper::initialize(), EcalPreshowerGeometry::initializeParms(), CaloDetIdAssociator::insideElement(), HCaloDetIdAssociator::insideElement(), IslandClusterAlgo::makeClusters(), CosmicClusterAlgo::makeClusters(), Multi5x5ClusterAlgo::makeClusters(), PreshowerPhiClusterAlgo::makeOneCluster(), PreshowerClusterAlgo::makeOneCluster(), ticl::SeedingRegionByHF::makeRegions(), reco::makeSpecific(), EcalClusterToolsT< noZS >::meanClusterPosition(), DistanceToCell::operator()(), ALPAKA_ACCELERATOR_NAMESPACE::PFRecHitTopologyESProducer< CAL >::produce(), Phase2L1CaloEGammaEmulator::produce(), HLTRechitInRegionsProducer< T1 >::produce(), L1EGCrystalClusterEmulatorProducer::produce(), EcalRecHitWorkerRecover::run(), EcalSelectiveReadoutValidation::setTtEtSums(), EcalSelectiveReadoutSuppressor::setTtFlags(), EcalGeomPhiSymHelper::setup(), CaloHitResponse::timeOfFlight(), EcalTimeMapDigitizer::timeOfFlight(), and ECAL2DPositionCalcWithDepthCorr::update().
|
protectedpure virtual |
Implemented in HGCalGeometry, HcalGeometry, HGCalTBGeometry, EcalBarrelGeometry, EcalEndcapGeometry, EcalPreshowerGeometry, ZdcGeometry, CaloTowerGeometry, CastorGeometry, HcalDDDGeometry, and EcalTBHodoscopeGeometry.
Referenced by cellGeomPtr().
|
virtual |
Reimplemented in HcalGeometry, HGCalGeometry, HGCalTBGeometry, ZdcGeometry, and CaloTowerGeometry.
Definition at line 119 of file CaloSubdetectorGeometry.cc.
References cms::cuda::assert(), SplitLinear::begin, cellGeomPtr(), ALPAKA_ACCELERATOR_NAMESPACE::brokenline::dVec, runTauDisplay::gp, mps_fire::i, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::iv, isotrackApplyRegressor::k, m_validIds, groupFilesInBlocks::nn, numberOfParametersPerShape(), numberOfShapes(), numberOfTransformParms(), convertSQLiteXML::ok, parVecVec(), MetAnalyzer::pv(), findQualityFiles::rr, and groupFilesInBlocks::tt.
|
virtual |
Get a list of valid detector ids (for the given subdetector)
Reimplemented in HGCalGeometry, HGCalTBGeometry, HcalGeometry, and HcalDDDGeometry.
Definition at line 32 of file CaloSubdetectorGeometry.cc.
References m_validIds.
Referenced by testEcalTPGScale::analyze(), EcalTPGParamBuilder::analyze(), CaloTowerConstituentsMapBuilder::assignEEtoHE(), CaloGeometryHelper::buildCrystalArray(), CaloGeometryHelper::buildNeighbourArray(), PositionCalc::Calculate_Location(), CaloCellCrossing::CaloCellCrossing(), PFECALHashNavigator::ecalNeighbArray(), HcalDDDGeometry::fillDetIds(), HcalGeometry::fillDetIds(), HCALRecHitAnalyzer::FillGeometry(), ECALRecHitAnalyzer::FillGeometry(), CastorGeometry::getClosestCell(), HcalDDDGeometry::getValidDetIds(), HcalGeometry::getValidDetIds(), EcalPreshowerGeometry::initializeParms(), EcalTPCondAnalyzer::printCRYSTAL(), ECAL2DPositionCalcWithDepthCorr::update(), and EcalDigiProducer::updateGeometry().
|
protectedvirtual |
Reimplemented in HGCalGeometry, HcalGeometry, HGCalTBGeometry, ZdcGeometry, and CaloTowerGeometry.
Definition at line 255 of file CaloSubdetectorGeometry.cc.
References CaloGenericDetId::denseIndex().
Referenced by deltaEta(), and deltaPhi().
|
inlinevirtual |
Reimplemented in HGCalGeometry, HGCalTBGeometry, EcalEndcapGeometry, and EcalPreshowerGeometry.
Definition at line 106 of file CaloSubdetectorGeometry.h.
|
pure virtual |
|
inlinevirtual |
Reimplemented in EcalEndcapGeometry, EcalBarrelGeometry, HcalGeometry, EcalPreshowerGeometry, CastorGeometry, ZdcGeometry, and CaloTowerGeometry.
Definition at line 99 of file CaloSubdetectorGeometry.h.
Referenced by HGCalTBGeometry::getSummary(), HGCalGeometry::getSummary(), and getSummary().
|
inlinevirtual |
Reimplemented in EcalEndcapGeometry, EcalBarrelGeometry, HcalGeometry, EcalPreshowerGeometry, CastorGeometry, ZdcGeometry, and CaloTowerGeometry.
Definition at line 98 of file CaloSubdetectorGeometry.h.
Referenced by HGCalTBGeometry::getSummary(), HGCalGeometry::getSummary(), and getSummary().
|
inlinevirtual |
Reimplemented in EcalPreshowerGeometry, and CastorGeometry.
Definition at line 100 of file CaloSubdetectorGeometry.h.
Referenced by CaloTowerGeometry::getSummary(), ZdcGeometry::getSummary(), HGCalTBGeometry::getSummary(), HGCalGeometry::getSummary(), getSummary(), and HcalGeometry::getSummary().
|
delete |
|
inline |
Definition at line 92 of file CaloSubdetectorGeometry.h.
References m_parMgr.
Referenced by HcalHardcodeGeometryLoader::fillHBHO(), HcalFlexiHardcodeGeometryLoader::fillHBHO(), HcalHardcodeGeometryLoader::fillHE(), HcalFlexiHardcodeGeometryLoader::fillHE(), HcalHardcodeGeometryLoader::fillHF(), HcalFlexiHardcodeGeometryLoader::fillHF(), HcalHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
inline |
|
inline |
Definition at line 95 of file CaloSubdetectorGeometry.h.
References m_parVecVec.
Referenced by HcalHardcodeGeometryLoader::fillHBHO(), HcalFlexiHardcodeGeometryLoader::fillHBHO(), HcalHardcodeGeometryLoader::fillHE(), HcalFlexiHardcodeGeometryLoader::fillHE(), HcalHardcodeGeometryLoader::fillHF(), HcalFlexiHardcodeGeometryLoader::fillHF(), CaloTowerGeometry::getSummary(), ZdcGeometry::getSummary(), getSummary(), HcalGeometry::getSummary(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
inline |
|
virtual |
is this detid present in the geometry?
Reimplemented in EcalBarrelGeometry, EcalEndcapGeometry, EcalPreshowerGeometry, HGCalGeometry, and HGCalTBGeometry.
Definition at line 40 of file CaloSubdetectorGeometry.cc.
References spr::find(), EcalPhiSymFlatTableProducers_cfi::id, and m_validIds.
Referenced by EcalBarrelTopology::decrementIeta(), EcalBarrelTopology::decrementIphi(), EcalEndcapTopology::decrementIx(), EcalEndcapTopology::decrementIy(), PFAnalysis::getHitPosition(), EcalBarrelTopology::incrementIeta(), EcalBarrelTopology::incrementIphi(), EcalEndcapTopology::incrementIx(), and EcalEndcapTopology::incrementIy().
|
protectedvirtual |
Reimplemented in HcalGeometry, and CaloTowerGeometry.
Definition at line 257 of file CaloSubdetectorGeometry.cc.
References CaloGenericDetId::sizeForDenseIndexing().
Referenced by deltaEta(), and deltaPhi().
|
inlinevirtual |
Definition at line 108 of file CaloSubdetectorGeometry.h.
References spr::find(), EcalPhiSymFlatTableProducers_cfi::id, and m_validIds.
|
private |
Definition at line 130 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 128 of file CaloSubdetectorGeometry.h.
Referenced by allocatePar(), parMgr(), parMgrConst(), and ~CaloSubdetectorGeometry().
|
protected |
Definition at line 119 of file CaloSubdetectorGeometry.h.
Referenced by parVecVec().
|
private |
Definition at line 132 of file CaloSubdetectorGeometry.h.
|
protected |
Definition at line 125 of file CaloSubdetectorGeometry.h.
Referenced by addValidID(), allocateCorners(), getCells(), getClosestCell(), ZdcGeometry::getSummary(), getSummary(), getValidDetIds(), HGCalTBGeometry::getValidDetIds(), HGCalGeometry::getValidDetIds(), HGCalGeometry::HGCalGeometry(), HGCalTBGeometry::HGCalTBGeometry(), HcalDDDGeometry::increaseReserve(), HcalGeometry::increaseReserve(), HGCalTBGeometry::newCell(), HGCalGeometry::newCell(), HcalDDDGeometry::newCellFast(), HcalGeometry::newCellFast(), present(), HGCalTBGeometry::sortDetIds(), HGCalGeometry::sortDetIds(), HcalDDDGeometry::sortValidIds(), HcalGeometry::sortValidIds(), and valid().