#include <CaloSubdetectorGeometry.h>
Public Types | |
typedef CaloCellGeometry::CCGFloat | CCGFloat |
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 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... | |
void | getSummary (TrVec &trVector, IVec &iVector, DimVec &dimVector) 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 | |
virtual const CaloCellGeometry * | cellGeomPtr (uint32_t index) const =0 |
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::vector< CCGFloat > * | m_deltaEta |
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 21 of file CaloSubdetectorGeometry.h.
Definition at line 25 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 13 of file CaloSubdetectorGeometry.cc.
|
virtual |
The base class DOES assume that it owns the CaloCellGeometry objects.
Definition at line 22 of file CaloSubdetectorGeometry.cc.
References m_cmgr, m_deltaEta, m_deltaPhi, and m_parMgr.
|
private |
avoid copies
void CaloSubdetectorGeometry::allocateCorners | ( | CaloCellGeometry::CornersVec::size_type | n | ) |
Definition at line 120 of file CaloSubdetectorGeometry.cc.
References CaloCellGeometry::k_cornerSize, m_cmgr, and m_validIds.
Referenced by CastorHardcodeGeometryLoader::fill(), ZdcHardcodeGeometryLoader::fill(), CaloTowerHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), HcalHardcodeGeometryLoader::load(), HcalDDDGeometryLoader::load(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
void CaloSubdetectorGeometry::allocatePar | ( | ParVec::size_type | n, |
unsigned int | m | ||
) |
Definition at line 130 of file CaloSubdetectorGeometry.cc.
References m_parMgr.
Referenced by CastorHardcodeGeometryLoader::fill(), ZdcHardcodeGeometryLoader::fill(), CaloTowerHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), HcalHardcodeGeometryLoader::load(), HcalDDDGeometryLoader::load(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
protectedpure virtual |
Implemented in EcalBarrelGeometry, EcalEndcapGeometry, EcalPreshowerGeometry, HcalGeometry, CastorGeometry, CaloTowerGeometry, ZdcGeometry, HcalDDDGeometry, and EcalTBHodoscopeGeometry.
Referenced by deltaEta(), deltaPhi(), getGeometry(), and getSummary().
|
inline |
Definition at line 78 of file CaloSubdetectorGeometry.h.
References m_cmgr.
Referenced by CastorHardcodeGeometryLoader::fill(), ZdcHardcodeGeometryLoader::fill(), CaloTowerHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), HcalHardcodeGeometryLoader::load(), HcalDDDGeometryLoader::load(), EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry(), EcalTBHodoscopeGeometry::newCell(), HcalDDDGeometry::newCell(), ZdcGeometry::newCell(), CaloTowerGeometry::newCell(), CastorGeometry::newCell(), HcalGeometry::newCell(), EcalPreshowerGeometry::newCell(), EcalEndcapGeometry::newCell(), and EcalBarrelGeometry::newCell().
Definition at line 260 of file CaloSubdetectorGeometry.cc.
References cellGeomPtr(), CaloGenericDetId::denseIndex(), PV3DBase< T, PVType, FrameType >::eta(), CaloCellGeometry::getCorners(), i, m_deltaEta, and CaloGenericDetId::sizeForDenseIndexing().
Definition at line 210 of file CaloSubdetectorGeometry.cc.
References cellGeomPtr(), CaloGenericDetId::denseIndex(), CaloCellGeometry::getCorners(), i, m_deltaPhi, M_PI, PV3DBase< T, PVType, FrameType >::phi(), and CaloGenericDetId::sizeForDenseIndexing().
|
inlinestaticprotected |
Definition at line 106 of file CaloSubdetectorGeometry.h.
References reco::deltaR().
|
inlinevirtual |
|
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, and HcalGeometry.
Definition at line 84 of file CaloSubdetectorGeometry.cc.
References reco::deltaR2(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, PV3DBase< T, PVType, FrameType >::eta(), 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(), EgammaRecHitIsolation::getSum_(), CaloConeSelector::select(), and CaloDualConeSelector::select().
|
virtual |
Reimplemented in EcalBarrelGeometry, EcalEndcapGeometry, EcalPreshowerGeometry, HcalGeometry, CastorGeometry, and HcalDDDGeometry.
Definition at line 55 of file CaloSubdetectorGeometry.cc.
References reco::deltaR2(), PV3DBase< T, PVType, FrameType >::eta(), eta(), getGeometry(), CaloCellGeometry::getPosition(), i, getHLTprescales::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(), EcalShowerProperties::getEndpoints(), HoECalculator::getHoE(), PhysicsTowerOrganizer::PhysicsTowerOrganizer(), EcalShowerProperties::processEcalRecHits(), and spr::propagateCALO().
|
virtual |
Get the cell geometry of a given detector id. Should return false if not found.
Definition at line 43 of file CaloSubdetectorGeometry.cc.
References cellGeomPtr().
Referenced by BetaCalculatorECAL::addStepToXtal(), EcalTPGParamBuilder::analyze(), EcalSelectiveReadoutValidation::analyzeEB(), EcalSelectiveReadoutValidation::analyzeEE(), ggPFClusters::BasicClusterPFCandLink(), EcalBoundaryInfoCalculator< EcalDetId >::boundaryRecHits(), CaloRecoTauAlgorithm::buildCaloTau(), CaloGeometryHelper::buildCrystalArray(), SuperClusterShapeAlgo::Calculate_Covariances(), ClusterShapeAlgo::Calculate_Covariances(), ClusterShapeAlgo::Calculate_EnergyDepTopology(), PositionCalc::Calculate_Location(), CaloCellCrossing::CaloCellCrossing(), ggPFClusters::ClusterWidth(), compEcalEnergySum(), compHcalEnergySum(), CaloTowersCreationAlgo::convert(), EcalClusterTools::covariances(), PFRecHitProducerECAL::createEcalRecHit(), PFRecHitProducerHCAL::createHcalRecHit(), PFRecHitProducerHO::createHORecHit(), PFRecHitProducerPS::createRecHits(), DistanceToCell::DistanceToCell(), EcalHitMaker::EcalHitMaker(), InvRingCalib::EERingDef(), HCALRecHitAnalyzer::FillGeometry(), EcalDeadCellBoundaryEnergyFilter::filter(), PFRecHitProducerECAL::findEcalRecHitGeometry(), PFRecHitProducerHO::findHORecHitGeometry(), EcalBoundaryInfoCalculator< EcalDetId >::gapRecHits(), HcalGeometry::getCells(), EcalEndcapGeometry::getCells(), getCells(), EcalBarrelGeometry::getCells(), EcalDeadCellTriggerPrimitiveFilter::getChannelStatusMaps(), EcalDeadCellDeltaRFilter::getChannelStatusMaps(), EcalEndcapGeometry::getClosestBarrelCells(), CaloGeometryHelper::getClosestCell(), CastorGeometry::getClosestCell(), HcalGeometry::getClosestCell(), getClosestCell(), EcalEndcapGeometry::getClosestCell(), EcalBarrelGeometry::getClosestCell(), EcalPreshowerGeometry::getClosestCellInPlane(), HCaloDetIdAssociator::getDetIdPoints(), CaloDetIdAssociator::getDetIdPoints(), L2TauModularIsolationProducer::getECALHits(), L2TauIsolationProducer::getECALHits(), L2TauNarrowConeIsolationProducer::getECALHits(), EcalShowerProperties::getEndpoints(), EcalClusterTools::getEnergyDepTopology(), CaloGeometry::getGeometry(), ggPFESClusters::getLinkDist(), CaloGeometry::getPosition(), HCaloDetIdAssociator::getPosition(), CaloDetIdAssociator::getPosition(), EcalClusterLocalContCorrection::getValue(), EcalBasicClusterLocalContCorrection::getValue(), EcalClusterCrackCorrection::getValue(), EcalEndcapRecHitsMaker::init(), EcalBarrelRecHitsMaker::init(), PhotonFixCMS::initialise(), CaloGeometryHelper::initialize(), EcalRingCalibrationTools::initializeFromGeometry(), EcalPreshowerGeometry::initializeParms(), CaloDetIdAssociator::insideElement(), HCaloDetIdAssociator::insideElement(), ggPFClusters::localCoordsEB(), ggPFClusters::localCoordsEE(), IslandClusterAlgo::makeClusters(), CosmicClusterAlgo::makeClusters(), Multi5x5ClusterAlgo::makeClusters(), PreshowerClusterAlgo::makeOneCluster(), JetMaker::makeSpecific(), reco::makeSpecific(), EcalClusterTools::meanClusterPosition(), DistanceToCell::operator()(), present(), PlotEcalRecHits::printEcalRecHits(), PlotSimTracks::printSimTracks(), EcalShowerProperties::processEcalRecHits(), CastorEventDisplay::processEvent(), EcalRecHitWorkerRecover::run(), EcalSelectiveReadoutValidation::setTtEtSums(), EcalSelectiveReadoutSuppressor::setTtFlags(), EcalGeomPhiSymHelper::setup(), ggPFPhotons::SuperClusterSize(), CaloHitResponse::timeOfFlight(), and ValidateGeometry::validateCaloGeometry().
void CaloSubdetectorGeometry::getSummary | ( | CaloSubdetectorGeometry::TrVec & | tVec, |
CaloSubdetectorGeometry::IVec & | iVec, | ||
CaloSubdetectorGeometry::DimVec & | dVec | ||
) | const |
Definition at line 138 of file CaloSubdetectorGeometry.cc.
References begin, EZArrayFL< T >::begin(), cellGeomPtr(), EZArrayFL< T >::end(), CaloCellGeometry::getPosition(), CaloCellGeometry::getTransform(), i, gen::k, m_validIds, numberOfParametersPerShape(), numberOfShapes(), numberOfTransformParms(), convertSQLiteXML::ok, CaloCellGeometry::param(), parVecVec(), 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 HcalGeometry, and HcalDDDGeometry.
Definition at line 31 of file CaloSubdetectorGeometry.cc.
References m_sortedIds, m_validIds, python.multivaluedict::sort(), and funct::true.
Referenced by testEcalTPGScale::analyze(), EcalTPGParamBuilder::analyze(), CaloGeometryHelper::buildCrystalArray(), CaloGeometryHelper::buildNeighbourArray(), PositionCalc::Calculate_Location(), CaloCellCrossing::CaloCellCrossing(), HcalRecHitsMaker::createVectorOfSubdetectorCells(), EcalPreshowerRecHitsMaker::createVectorsOfCells(), PFRecHitProducerECAL::ecalNeighbArray(), HcalGeometry::fillDetIds(), HCALRecHitAnalyzer::FillGeometry(), CastorGeometry::getClosestCell(), HcalDDDGeometry::getValidDetIds(), HcalGeometry::getValidDetIds(), PFRecHitProducerHO::hoNeighbArray(), EcalEndcapRecHitsMaker::init(), EcalBarrelRecHitsMaker::init(), EcalPreshowerGeometry::initializeParms(), EcalTPCondAnalyzer::printCRYSTAL(), CalorimetryManager::reconstruct(), EcalDigiProducer::updateGeometry(), and ValidateGeometry::validateCaloGeometry().
|
inlinevirtual |
Reimplemented in EcalEndcapGeometry, and EcalPreshowerGeometry.
Definition at line 98 of file CaloSubdetectorGeometry.h.
References hitfit::return.
|
pure virtual |
Implemented in EcalBarrelGeometry, EcalEndcapGeometry, EcalPreshowerGeometry, HcalGeometry, CastorGeometry, CaloTowerGeometry, ZdcGeometry, HcalDDDGeometry, and EcalTBHodoscopeGeometry.
Referenced by CaloTowerHardcodeGeometryLoader::makeCell(), CastorHardcodeGeometryLoader::makeCell(), ZdcHardcodeGeometryLoader::makeCell(), HcalDDDGeometryLoader::makeCell(), HcalHardcodeGeometryLoader::makeCell(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
inlinevirtual |
Reimplemented in EcalEndcapGeometry, EcalBarrelGeometry, EcalPreshowerGeometry, CaloTowerGeometry, CastorGeometry, HcalGeometry, and ZdcGeometry.
Definition at line 89 of file CaloSubdetectorGeometry.h.
Referenced by getSummary().
|
inlinevirtual |
Reimplemented in EcalEndcapGeometry, EcalBarrelGeometry, EcalPreshowerGeometry, CaloTowerGeometry, CastorGeometry, HcalGeometry, and ZdcGeometry.
Definition at line 88 of file CaloSubdetectorGeometry.h.
Referenced by getSummary().
|
inlinevirtual |
Reimplemented in EcalPreshowerGeometry, and CastorGeometry.
Definition at line 90 of file CaloSubdetectorGeometry.h.
Referenced by getSummary().
|
private |
|
inline |
Definition at line 82 of file CaloSubdetectorGeometry.h.
References m_parMgr.
Referenced by CastorHardcodeGeometryLoader::fill(), ZdcHardcodeGeometryLoader::fill(), CaloTowerHardcodeGeometryLoader::load(), HcalFlexiHardcodeGeometryLoader::load(), HcalHardcodeGeometryLoader::load(), HcalDDDGeometryLoader::load(), CaloTowerHardcodeGeometryLoader::makeCell(), CastorHardcodeGeometryLoader::makeCell(), ZdcHardcodeGeometryLoader::makeCell(), HcalDDDGeometryLoader::makeCell(), HcalHardcodeGeometryLoader::makeCell(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
inline |
|
inline |
Definition at line 85 of file CaloSubdetectorGeometry.h.
References m_parVecVec.
Referenced by getSummary(), CaloTowerHardcodeGeometryLoader::makeCell(), CastorHardcodeGeometryLoader::makeCell(), ZdcHardcodeGeometryLoader::makeCell(), HcalDDDGeometryLoader::makeCell(), HcalHardcodeGeometryLoader::makeCell(), and EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
inline |
|
virtual |
is this detid present in the geometry?
Definition at line 49 of file CaloSubdetectorGeometry.cc.
References getGeometry().
Referenced by spr::extraIds(), EcalBarrelGeometry::getClosestCell(), EcalPreshowerGeometry::getClosestCellInPlane(), EcalShowerProperties::getEndpoints(), and CaloGeometry::present().
|
private |
Definition at line 116 of file CaloSubdetectorGeometry.h.
Referenced by allocateCorners(), cornersMgr(), and ~CaloSubdetectorGeometry().
|
mutableprivate |
Definition at line 125 of file CaloSubdetectorGeometry.h.
Referenced by deltaEta(), and ~CaloSubdetectorGeometry().
|
mutableprivate |
Definition at line 124 of file CaloSubdetectorGeometry.h.
Referenced by deltaPhi(), and ~CaloSubdetectorGeometry().
|
private |
Definition at line 114 of file CaloSubdetectorGeometry.h.
Referenced by allocatePar(), parMgr(), parMgrConst(), and ~CaloSubdetectorGeometry().
|
protected |
Definition at line 104 of file CaloSubdetectorGeometry.h.
Referenced by parVecVec().
|
mutableprivate |
Definition at line 122 of file CaloSubdetectorGeometry.h.
Referenced by getValidDetIds().
|
mutableprotected |
Definition at line 110 of file CaloSubdetectorGeometry.h.
Referenced by allocateCorners(), getCells(), getClosestCell(), getSummary(), getValidDetIds(), EcalTBHodoscopeGeometry::newCell(), ZdcGeometry::newCell(), CaloTowerGeometry::newCell(), CastorGeometry::newCell(), HcalGeometry::newCell(), EcalPreshowerGeometry::newCell(), EcalEndcapGeometry::newCell(), and EcalBarrelGeometry::newCell().