#include <CaloSubdetectorGeometry.h>
Public Types | |
typedef CaloCellGeometry::CCGFloat | CCGFloat |
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 std::shared_ptr< 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 |
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 | ~CaloSubdetectorGeometry () |
The base class DOES assume that it owns the CaloCellGeometry objects. More... | |
Protected Member Functions | |
void | addValidID (const DetId &id) |
virtual std::shared_ptr< const CaloCellGeometry > | cellGeomPtr (uint32_t index) const |
virtual const CaloCellGeometry * | 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 22 of file CaloSubdetectorGeometry.h.
Definition at line 25 of file CaloSubdetectorGeometry.h.
typedef std::vector<std::shared_ptr<const CaloCellGeometry> > CaloSubdetectorGeometry::CellSet |
Definition at line 24 of file CaloSubdetectorGeometry.h.
typedef std::set<DetId> CaloSubdetectorGeometry::DetIdSet |
Definition at line 27 of file CaloSubdetectorGeometry.h.
typedef std::vector<CCGFloat> CaloSubdetectorGeometry::DimVec |
Definition at line 35 of file CaloSubdetectorGeometry.h.
typedef std::vector<unsigned int> CaloSubdetectorGeometry::IVec |
Definition at line 34 of file CaloSubdetectorGeometry.h.
Definition at line 29 of file CaloSubdetectorGeometry.h.
Definition at line 30 of file CaloSubdetectorGeometry.h.
Definition at line 31 of file CaloSubdetectorGeometry.h.
typedef std::vector<CCGFloat> CaloSubdetectorGeometry::TrVec |
Definition at line 33 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 triggerObjects_cff::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 106 of file CaloSubdetectorGeometry.cc.
References cms::cuda::assert(), CaloCellGeometry::k_cornerSize, m_cmgr, m_validIds, and dqmiodumpmetadata::n.
Referenced by HcalHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
void CaloSubdetectorGeometry::allocatePar | ( | ParVec::size_type | n, |
unsigned int | m | ||
) |
Definition at line 113 of file CaloSubdetectorGeometry.cc.
References cms::cuda::assert(), visualization-live-secondInstance_cfg::m, m_parMgr, and dqmiodumpmetadata::n.
Referenced by HcalHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
protectedvirtual |
Reimplemented in HGCalGeometry, and FastTimeGeometry.
Definition at line 260 of file CaloSubdetectorGeometry.cc.
References getGeometryRawPtr().
Referenced by EcalEndcapGeometry::avgAbsZFrontFaceCenter(), EcalBarrelGeometry::avgRadiusXYFrontFaceCenter(), deltaEta(), deltaPhi(), CaloTowerGeometry::getGeometry(), getGeometry(), HcalGeometry::getGeometryBase(), CaloTowerGeometry::getSummary(), getSummary(), HcalGeometry::getSummary(), and EcalEndcapGeometry::initializeParms().
|
inline |
Definition at line 82 of file CaloSubdetectorGeometry.h.
References m_cmgr.
Referenced by HcalHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry(), EcalTBHodoscopeGeometry::newCell(), CaloTowerGeometry::newCell(), FastTimeGeometry::newCell(), ZdcGeometry::newCell(), HGCalGeometry::newCell(), CastorGeometry::newCell(), EcalPreshowerGeometry::newCell(), EcalEndcapGeometry::newCell(), EcalBarrelGeometry::newCell(), HcalDDDGeometry::newCellImpl(), and HcalGeometry::newCellImpl().
Definition at line 220 of file CaloSubdetectorGeometry.cc.
References cellGeomPtr(), PV3DBase< T, PVType, FrameType >::eta(), mps_fire::i, indexFor(), m_deltaEta, and sizeForDenseIndex().
Definition at line 180 of file CaloSubdetectorGeometry.cc.
References cellGeomPtr(), mps_fire::i, indexFor(), m_deltaPhi, M_PI, PV3DBase< T, PVType, FrameType >::phi(), and sizeForDenseIndex().
|
inlinestaticprotected |
|
inlinevirtual |
Definition at line 96 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, FastTimeGeometry, EcalBarrelGeometry, EcalEndcapGeometry, and HcalGeometry.
Definition at line 66 of file CaloSubdetectorGeometry.cc.
References reco::deltaR2(), HGC3DClusterGenMatchSelector_cfi::dR, 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< HBHERecHit >::selectCallback(), and CaloConeSelector< T >::selectCallback().
|
virtual |
Definition at line 96 of file CaloSubdetectorGeometry.cc.
References postprocess-scan-build::cells, HGC3DClusterGenMatchSelector_cfi::dR, getCells(), getGeometry(), and alignCSCRings::r.
|
virtual |
Reimplemented in HGCalGeometry, FastTimeGeometry, EcalBarrelGeometry, EcalEndcapGeometry, HcalGeometry, EcalPreshowerGeometry, CastorGeometry, and HcalDDDGeometry.
Definition at line 44 of file CaloSubdetectorGeometry.cc.
References reco::deltaR2(), 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(), AlCaHOCalibProducer::fillHOStore(), spr::findDetIdCalo(), BetaCalculatorECAL::getDetailedTrackLengthInXtals(), HoECalculator::getHoE(), 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, FastTimeGeometry, CaloTowerGeometry, and HcalGeometry.
Definition at line 36 of file CaloSubdetectorGeometry.cc.
References cellGeomPtr().
Referenced by PreshowerHitMaker::addHit(), BetaCalculatorECAL::addStepToXtal(), EcalEBTrigPrimAnalyzer::analyze(), EcalTrigPrimAnalyzer::analyze(), PhiSymmetryCalibration::analyze(), EcalTPGParamBuilder::analyze(), EcalSelectiveReadoutValidation::analyzeEB(), EcalSelectiveReadoutValidation::analyzeEE(), HGCalHitValidation::analyzeHGCalRecHit(), CaloTowerConstituentsMapBuilder::assignEEtoHE(), EcalBoundaryInfoCalculator< EBDetId >::boundaryRecHits(), CaloGeometryHelper::buildCrystalArray(), SuperClusterShapeAlgo::Calculate_Covariances(), PositionCalc::Calculate_Location(), ECAL2DPositionCalcWithDepthCorr::calculateAndSetPositionActual(), CaloCellCrossing::CaloCellCrossing(), CaloTowersCreationAlgo::convert(), EcalBarrelClusterFastTimer::correctTimeToVertex(), EcalClusterToolsT< noZS >::covariances(), DistanceToCell::DistanceToCell(), TrackDetMatchInfo::dumpGeometry(), EcalHitMaker::EcalHitMaker(), InvRingCalib::EERingDef(), HCALRecHitAnalyzer::FillGeometry(), ECALRecHitAnalyzer::FillGeometry(), EcalDeadCellBoundaryEnergyFilter::filter(), EcalBoundaryInfoCalculator< EBDetId >::gapRecHits(), getCells(), getCellSet(), EcalDeadCellTriggerPrimitiveFilter::getChannelStatusMaps(), EcalDeadCellDeltaRFilter::getChannelStatusMaps(), EcalEndcapGeometry::getClosestBarrelCells(), CaloGeometryHelper::getClosestCell(), CastorGeometry::getClosestCell(), getClosestCell(), EcalEndcapGeometry::getClosestCell(), EcalBarrelGeometry::getClosestCell(), EcalPreshowerGeometry::getClosestCellInPlane(), BetaCalculatorECAL::getDetailedTrackLengthInXtals(), HCaloDetIdAssociator::getDetIdPoints(), EcalClusterToolsT< noZS >::getEnergyDepTopology(), PFAnalysis::getHitPosition(), EcalHitMaker::getHits(), CaloDetIdAssociator::getPosition(), TrackDetMatchInfo::getPosition(), PFHBHERecHitCreator::importRecHits(), PFPSRecHitCreator::importRecHits(), PFHFRecHitCreator::importRecHits(), PFEcalBarrelRecHitCreator::importRecHits(), PFEcalEndcapRecHitCreator::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()(), 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, EcalBarrelGeometry, FastTimeGeometry, EcalEndcapGeometry, EcalPreshowerGeometry, CaloTowerGeometry, CastorGeometry, ZdcGeometry, HcalDDDGeometry, and EcalTBHodoscopeGeometry.
Referenced by cellGeomPtr().
|
virtual |
Reimplemented in HcalGeometry, HGCalGeometry, FastTimeGeometry, and CaloTowerGeometry.
Definition at line 118 of file CaloSubdetectorGeometry.cc.
References cms::cuda::assert(), cellGeomPtr(), runTauDisplay::gp, mps_fire::i, dqmdumpme::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, FastTimeGeometry, 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, FastTimeGeometry, and CaloTowerGeometry.
Definition at line 254 of file CaloSubdetectorGeometry.cc.
References CaloGenericDetId::denseIndex().
Referenced by deltaEta(), and deltaPhi().
|
inlinevirtual |
Reimplemented in HGCalGeometry, FastTimeGeometry, EcalEndcapGeometry, and EcalPreshowerGeometry.
Definition at line 100 of file CaloSubdetectorGeometry.h.
|
pure virtual |
|
inlinevirtual |
Reimplemented in EcalEndcapGeometry, EcalBarrelGeometry, HcalGeometry, EcalPreshowerGeometry, CastorGeometry, ZdcGeometry, and CaloTowerGeometry.
Definition at line 93 of file CaloSubdetectorGeometry.h.
Referenced by FastTimeGeometry::getSummary(), HGCalGeometry::getSummary(), and getSummary().
|
inlinevirtual |
Reimplemented in EcalEndcapGeometry, EcalBarrelGeometry, HcalGeometry, EcalPreshowerGeometry, CastorGeometry, ZdcGeometry, and CaloTowerGeometry.
Definition at line 92 of file CaloSubdetectorGeometry.h.
Referenced by FastTimeGeometry::getSummary(), HGCalGeometry::getSummary(), and getSummary().
|
inlinevirtual |
Reimplemented in EcalPreshowerGeometry, and CastorGeometry.
Definition at line 94 of file CaloSubdetectorGeometry.h.
Referenced by CaloTowerGeometry::getSummary(), FastTimeGeometry::getSummary(), HGCalGeometry::getSummary(), getSummary(), and HcalGeometry::getSummary().
|
delete |
|
inline |
Definition at line 86 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 89 of file CaloSubdetectorGeometry.h.
References m_parVecVec.
Referenced by HcalHardcodeGeometryLoader::fillHBHO(), HcalFlexiHardcodeGeometryLoader::fillHBHO(), HcalHardcodeGeometryLoader::fillHE(), HcalFlexiHardcodeGeometryLoader::fillHE(), HcalHardcodeGeometryLoader::fillHF(), HcalFlexiHardcodeGeometryLoader::fillHF(), CaloTowerGeometry::getSummary(), getSummary(), HcalGeometry::getSummary(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
inline |
|
virtual |
is this detid present in the geometry?
Reimplemented in EcalBarrelGeometry, EcalEndcapGeometry, EcalPreshowerGeometry, HGCalGeometry, and FastTimeGeometry.
Definition at line 40 of file CaloSubdetectorGeometry.cc.
References spr::find(), triggerObjects_cff::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 256 of file CaloSubdetectorGeometry.cc.
References CaloGenericDetId::sizeForDenseIndexing().
Referenced by deltaEta(), and deltaPhi().
|
private |
Definition at line 120 of file CaloSubdetectorGeometry.h.
Referenced by allocateCorners(), cornersMgr(), and ~CaloSubdetectorGeometry().
|
mutableprivate |
Definition at line 126 of file CaloSubdetectorGeometry.h.
Referenced by deltaEta(), and ~CaloSubdetectorGeometry().
|
mutableprivate |
Definition at line 125 of file CaloSubdetectorGeometry.h.
Referenced by deltaPhi(), and ~CaloSubdetectorGeometry().
|
private |
Definition at line 118 of file CaloSubdetectorGeometry.h.
Referenced by allocatePar(), parMgr(), parMgrConst(), and ~CaloSubdetectorGeometry().
|
protected |
Definition at line 109 of file CaloSubdetectorGeometry.h.
Referenced by parVecVec().
|
private |
Definition at line 122 of file CaloSubdetectorGeometry.h.
|
protected |
Definition at line 115 of file CaloSubdetectorGeometry.h.
Referenced by addValidID(), allocateCorners(), FastTimeGeometry::FastTimeGeometry(), getCells(), getClosestCell(), getSummary(), getValidDetIds(), FastTimeGeometry::getValidDetIds(), HGCalGeometry::getValidDetIds(), HGCalGeometry::HGCalGeometry(), HcalDDDGeometry::increaseReserve(), HcalGeometry::increaseReserve(), FastTimeGeometry::newCell(), HGCalGeometry::newCell(), HcalDDDGeometry::newCellFast(), HcalGeometry::newCellFast(), present(), FastTimeGeometry::sortDetIds(), HGCalGeometry::sortDetIds(), HcalDDDGeometry::sortValidIds(), and HcalGeometry::sortValidIds().