#include <HGCalGeometry.h>
Public Types | |
typedef HGCalGeometryRecord | AlignedRecord |
typedef CaloCellGeometry::CCGFloat | CCGFloat |
typedef std::vector< FlatHexagon > | CellVec |
typedef std::vector< FlatTrd > | CellVec2 |
typedef std::vector< GlobalPoint > | CornersVec |
typedef std::set< DetId > | DetIdSet |
typedef PHGCalRcd | PGeometryRecord |
typedef CaloCellGeometry::Pt3D | Pt3D |
typedef CaloCellGeometry::Pt3DVec | Pt3DVec |
Public Types inherited from CaloSubdetectorGeometry | |
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 | |
std::string | cellElement () const |
virtual void | fillNamedParams (DDFilteredView fv) |
DetIdSet | getCells (const GlobalPoint &r, double dR) const override |
Get a list of all cells within a dR of the given cell. More... | |
DetId | getClosestCell (const GlobalPoint &r) const override |
CornersVec | getCorners (const DetId &id) const |
Returns the corner points of this cell's volume. More... | |
std::shared_ptr< const CaloCellGeometry > | getGeometry (const DetId &id) const override |
Get the cell geometry of a given detector id. Should return false if not found. More... | |
GlobalPoint | getPosition (const DetId &id) const |
void | getSummary (CaloSubdetectorGeometry::TrVec &trVector, CaloSubdetectorGeometry::IVec &iVector, CaloSubdetectorGeometry::DimVec &dimVector, CaloSubdetectorGeometry::IVec &dinsVector) const override |
const std::vector< DetId > & | getValidDetIds (DetId::Detector det=DetId::Detector(0), int subdet=0) const override |
Get a list of valid detector ids (for the given subdetector) More... | |
const std::vector< DetId > & | getValidGeomDetIds (void) const |
HGCalGeometry (const HGCalTopology &topology) | |
void | initializeParms () override |
void | localCorners (Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref) |
void | newCell (const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override |
bool | present (const DetId &id) const override |
is this detid present in the geometry? More... | |
void | sortDetIds () |
const HGCalTopology & | topology () const |
~HGCalGeometry () override | |
Public Member Functions inherited from CaloSubdetectorGeometry | |
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 CellSet | getCellSet (const GlobalPoint &r, double dR) const |
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 | ~CaloSubdetectorGeometry () |
The base class DOES assume that it owns the CaloCellGeometry objects. More... | |
Static Public Member Functions | |
static std::string | dbString () |
static std::string | producerTag () |
Static Public Attributes | |
static unsigned int | k_NumberOfParametersPerHex = 3 |
static unsigned int | k_NumberOfParametersPerShape = 3 |
static unsigned int | k_NumberOfParametersPerTrd = 12 |
static unsigned int | k_NumberOfShapes = 100 |
static unsigned int | k_NumberOfShapesTrd = 1000 |
Protected Member Functions | |
void | addValidID (const DetId &id) |
std::shared_ptr< const CaloCellGeometry > | cellGeomPtr (uint32_t index) const override |
unsigned int | getClosestCellIndex (const GlobalPoint &r) const |
const CaloCellGeometry * | getGeometryRawPtr (uint32_t index) const override |
unsigned int | indexFor (const DetId &id) const override |
unsigned int | sizeForDenseIndex () const |
Protected Member Functions inherited from CaloSubdetectorGeometry | |
void | addValidID (const DetId &id) |
virtual unsigned int | sizeForDenseIndex (const DetId &id) const |
Private Member Functions | |
std::shared_ptr< const CaloCellGeometry > | cellGeomPtr (uint32_t index, const GlobalPoint &p) const |
template<class T > | |
unsigned int | getClosestCellIndex (const GlobalPoint &r, const std::vector< T > &vec) const |
Private Attributes | |
CellVec | m_cellVec |
CellVec2 | m_cellVec2 |
DetId::Detector | m_det |
ForwardSubdetector | m_subdet |
const HGCalTopology & | m_topology |
std::vector< DetId > | m_validGeomIds |
HGCalGeometryMode::GeometryMode | mode_ |
const double | twoBysqrt3_ |
Additional Inherited Members | |
Static Protected Member Functions inherited from CaloSubdetectorGeometry | |
static CCGFloat | deltaR (const GlobalPoint &p1, const GlobalPoint &p2) |
Protected Attributes inherited from CaloSubdetectorGeometry | |
ParVecVec | m_parVecVec |
std::vector< DetId > | m_validIds |
Definition at line 27 of file HGCalGeometry.h.
Definition at line 40 of file HGCalGeometry.h.
Definition at line 33 of file HGCalGeometry.h.
typedef std::vector<FlatHexagon> HGCalGeometry::CellVec |
Definition at line 31 of file HGCalGeometry.h.
typedef std::vector<FlatTrd> HGCalGeometry::CellVec2 |
Definition at line 32 of file HGCalGeometry.h.
typedef std::vector<GlobalPoint> HGCalGeometry::CornersVec |
Definition at line 38 of file HGCalGeometry.h.
typedef std::set<DetId> HGCalGeometry::DetIdSet |
Definition at line 37 of file HGCalGeometry.h.
Definition at line 41 of file HGCalGeometry.h.
Definition at line 34 of file HGCalGeometry.h.
Definition at line 35 of file HGCalGeometry.h.
HGCalGeometry::HGCalGeometry | ( | const HGCalTopology & | topology | ) |
Definition at line 23 of file HGCalGeometry.cc.
References DetId::HGCalHSc, m_cellVec, m_cellVec2, m_det, m_topology, CaloSubdetectorGeometry::m_validIds, HGCalTopology::totalGeomModules(), and HGCalTopology::totalModules().
Referenced by dbString().
|
override |
|
protected |
Definition at line 479 of file HGCalGeometry.cc.
Referenced by topology().
std::string HGCalGeometry::cellElement | ( | ) | const |
Definition at line 392 of file HGCalGeometry.cc.
References DetId::HGCalEE, DetId::HGCalHSc, DetId::HGCalHSi, HGCEE, HGCHEB, HGCHEF, m_det, and m_subdet.
Referenced by producerTag().
|
overrideprotectedvirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 439 of file HGCalGeometry.cc.
References DetId::HGCalHSc, m_cellVec, m_cellVec2, m_det, and m_validGeomIds.
Referenced by cellGeomPtr(), getGeometry(), getSummary(), and topology().
|
private |
Definition at line 455 of file HGCalGeometry.cc.
References cellGeomPtr(), DetId::HGCalHSc, m_cellVec, m_cellVec2, m_det, and m_validGeomIds.
|
inlinestatic |
Definition at line 49 of file HGCalGeometry.h.
References connectstrParser::f1, connectstrParser::f2, connectstrParser::f3, getCorners(), getGeometry(), getPosition(), getSummary(), HGCalGeometry(), mps_fire::i, localCorners(), newCell(), present(), MetAnalyzer::pv(), topology(), and ~HGCalGeometry().
Referenced by CaloGeometryDBEP< T, U >::produceAligned().
|
virtual |
|
overridevirtual |
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 from CaloSubdetectorGeometry.
Definition at line 387 of file HGCalGeometry.cc.
Referenced by getValidGeomDetIds().
|
overridevirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 333 of file HGCalGeometry.cc.
References HGCalDDDConstants::assignCell(), HGCalDDDConstants::assignCellHex(), HGCalDDDConstants::assignCellTrap(), HGCalTopology::dddConstants(), HGCalTopology::decode(), HGCalTopology::encode(), getClosestCellIndex(), HGCalDDDConstants::getLayer(), HGCalGeometryMode::Hexagon, HGCalGeometryMode::HexagonFull, DetId::HGCalHSc, HGCalTopology::DecodedDetId::iCell1, HGCalTopology::DecodedDetId::iCell2, HGCalTopology::DecodedDetId::iLay, HGCalTopology::DecodedDetId::iSec1, HGCalTopology::DecodedDetId::iSec2, HGCalTopology::DecodedDetId::iType, DTRecHitClients_cfi::local, m_cellVec, m_cellVec2, m_det, m_topology, m_validGeomIds, mode_, HGCalGeometryMode::Trapezoid, HGCalDDDConstants::waferTypeT(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::z(), and HGCalTopology::DecodedDetId::zSide.
Referenced by getValidGeomDetIds().
|
protected |
Definition at line 483 of file HGCalGeometry.cc.
References DetId::HGCalHSc, m_cellVec, m_cellVec2, and m_det.
Referenced by getClosestCell(), and topology().
|
private |
Definition at line 489 of file HGCalGeometry.cc.
References a, funct::abs(), b, PVValHelper::dz, getPosition(), gen::k, M_PI, PV3DBase< T, PVType, FrameType >::phi(), DetId::rawId(), z, and PV3DBase< T, PVType, FrameType >::z().
HGCalGeometry::CornersVec HGCalGeometry::getCorners | ( | const DetId & | id | ) | const |
Returns the corner points of this cell's volume.
Definition at line 287 of file HGCalGeometry.cc.
References HGCalTopology::dddConstants(), HGCalTopology::decode(), PVValHelper::dx, PVValHelper::dy, PVValHelper::dz, HGCalGeometryMode::Hexagon, HGCalGeometryMode::HexagonFull, DetId::HGCalHSc, mps_fire::i, HGCalTopology::DecodedDetId::iCell1, HGCalTopology::DecodedDetId::iCell2, HGCalTopology::DecodedDetId::iLay, indexFor(), HGCalTopology::DecodedDetId::iSec1, HGCalTopology::DecodedDetId::iSec2, HGCalDDDConstants::locateCell(), HGCalDDDConstants::locateCellHex(), HGCalDDDConstants::locateCellTrap(), m_cellVec, m_cellVec2, m_det, m_topology, mode_, FlatTrd::ncorner_, FlatHexagon::ncorner_, HGCalGeometryMode::Trapezoid, and geometryCSVtoXML::xy.
Referenced by FWRecoGeometryESProducer::addCaloGeometry(), and dbString().
|
overridevirtual |
Get the cell geometry of a given detector id. Should return false if not found.
Reimplemented from CaloSubdetectorGeometry.
Definition at line 207 of file HGCalGeometry.cc.
References cellGeomPtr(), HGCalTopology::detId2denseGeomId(), HGCScintillatorDetId::geometryCell(), HGCalDetId::geometryCell(), HGCSiliconDetId::geometryCell(), getPosition(), HGCalGeometryMode::Hexagon, HGCalGeometryMode::HexagonFull, m_topology, mode_, and HGCalGeometryMode::Trapezoid.
Referenced by dbString().
|
overrideprotectedvirtual |
Implements CaloSubdetectorGeometry.
Definition at line 426 of file HGCalGeometry.cc.
References DetId::HGCalHSc, m_cellVec, m_cellVec2, m_det, and CaloCellGeometry::param().
Referenced by present(), and topology().
GlobalPoint HGCalGeometry::getPosition | ( | const DetId & | id | ) | const |
Definition at line 239 of file HGCalGeometry.cc.
References HGCalTopology::dddConstants(), HGCalTopology::decode(), HGCalGeometryMode::Hexagon, HGCalGeometryMode::HexagonFull, HGCalTopology::DecodedDetId::iCell1, HGCalTopology::DecodedDetId::iCell2, HGCalTopology::DecodedDetId::iLay, indexFor(), HGCalTopology::DecodedDetId::iSec1, HGCalTopology::DecodedDetId::iSec2, HGCalDDDConstants::locateCell(), HGCalDDDConstants::locateCellHex(), m_cellVec, m_cellVec2, m_topology, copyPickMerge_cfg::maxSize, mode_, HGCalGeometryMode::Trapezoid, and geometryCSVtoXML::xy.
Referenced by HGCalTBAnalyzer::analyzeDigi(), HGCalTBAnalyzer::analyzeRecHits(), HGCalTriggerGeometryHexImp1::buildTriggerCellsAndModules(), dbString(), HGCalTriggerNtupleHGCDigis::fill(), getClosestCellIndex(), getGeometry(), HGCalTriggerGeometryHexImp2::getModulePosition(), HGCalTriggerGeometryHexLayerBasedImp1::getModulePosition(), hgcal::RecHitTools::getPosition(), HGCalTriggerGeometryHexImp2::getTriggerCellPosition(), HGCalTriggerGeometryHexLayerBasedImp1::getTriggerCellPosition(), and HGCalTriggerGeometryImp1::initialize().
|
overridevirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 540 of file HGCalGeometry.cc.
References HGCalParameters::hgtrap::alpha, HGCalParameters::hgtrap::bl, cellGeomPtr(), HGCalParameters::hgtrap::cellSize, HGCalTopology::dddConstants(), HGCalTopology::detId2denseGeomId(), HGCalParameters::hgtrap::dz, HGCalParameters::firstModule_, HGCalDDDConstants::getModule(), HGCalDDDConstants::getParameter(), HGCalDDDConstants::getTrForm(), HGCalDDDConstants::getTrFormN(), runTauDisplay::gp, HGCalParameters::hgtrap::h, HGCalGeometryMode::Hexagon, HGCalGeometryMode::HexagonFull, DetId::HGCalHSc, mps_fire::i, k_NumberOfParametersPerHex, k_NumberOfParametersPerTrd, k_NumberOfShapes, HGCalParameters::lastModule_, HGCalParameters::hgtrform::lay, HGCScintillatorDetId::layer(), HGCalDetId::layer(), HGCSiliconDetId::layer(), HGCalDDDConstants::layerIndex(), m_det, m_topology, m_validGeomIds, mode_, CaloSubdetectorGeometry::numberOfParametersPerShape(), CaloSubdetectorGeometry::numberOfShapes(), CaloSubdetectorGeometry::numberOfTransformParms(), findQualityFiles::rr, HGCalDDDConstants::sectors(), HGCalParameters::hgtrap::tl, HGCalTopology::totalGeomModules(), HGCalGeometryMode::Trapezoid, groupFilesInBlocks::tt, twoBysqrt3_, and HGCalDDDConstants::waferInLayer().
Referenced by dbString(), and CaloGeometryDBEP< T, U >::produceAligned().
|
inlineoverridevirtual |
Get a list of valid detector ids (for the given subdetector)
Reimplemented from CaloSubdetectorGeometry.
Definition at line 82 of file HGCalGeometry.h.
References CaloSubdetectorGeometry::m_validIds.
|
inline |
Definition at line 83 of file HGCalGeometry.h.
References PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, fillNamedParams(), getCells(), getClosestCell(), initializeParms(), m_validGeomIds, and alignCSCRings::r.
|
overrideprotectedvirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 399 of file HGCalGeometry.cc.
References TauDecayModes::dec, HGCalTopology::detId2denseGeomId(), HGCScintillatorDetId::geometryCell(), HGCalDetId::geometryCell(), HGCSiliconDetId::geometryCell(), HGCalGeometryMode::Hexagon, HGCalGeometryMode::HexagonFull, DetId::HGCalHSc, m_cellVec, m_cellVec2, m_det, m_topology, mode_, DetId::rawId(), and HGCalGeometryMode::Trapezoid.
Referenced by getCorners(), getPosition(), and topology().
|
overridevirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 47 of file HGCalGeometry.cc.
Referenced by getValidGeomDetIds().
Definition at line 50 of file HGCalGeometry.cc.
References DetId::HGCalHSc, FlatTrd::localCorners(), FlatHexagon::localCorners(), and m_det.
Referenced by dbString().
|
overridevirtual |
Implements CaloSubdetectorGeometry.
Definition at line 61 of file HGCalGeometry.cc.
References HGCalDDDConstants::cellInLayer(), CaloSubdetectorGeometry::cornersMgr(), HGCalTopology::dddConstants(), TauDecayModes::dec, HGCalTopology::decode(), HGCalTopology::detId2denseGeomId(), HGCalTopology::encode(), HGCScintillatorDetId::geometryCell(), HGCalDetId::geometryCell(), HGCSiliconDetId::geometryCell(), HGCalGeometryMode::Hexagon, HGCalGeometryMode::HexagonFull, DetId::HGCalHSc, m_cellVec, m_cellVec2, m_det, m_topology, m_validGeomIds, CaloSubdetectorGeometry::m_validIds, mode_, HGCalDDDConstants::numberCellsHexagon(), DetId::rawId(), HGCalGeometryMode::Trapezoid, findQualityFiles::v, HGCalTopology::valid(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by HGCalGeometryLoader::buildGeom(), and dbString().
|
overridevirtual |
is this detid present in the geometry?
Reimplemented from CaloSubdetectorGeometry.
Definition at line 224 of file HGCalGeometry.cc.
References HGCalTopology::detId2denseGeomId(), HGCScintillatorDetId::geometryCell(), HGCalDetId::geometryCell(), HGCSiliconDetId::geometryCell(), getGeometryRawPtr(), HGCalGeometryMode::Hexagon, HGCalGeometryMode::HexagonFull, m_topology, mode_, and HGCalGeometryMode::Trapezoid.
Referenced by dbString().
|
inlinestatic |
Definition at line 99 of file HGCalGeometry.h.
References cellElement(), and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by PCaloGeometryBuilder::beginRun(), and CaloGeometryBuilder::produceAligned().
|
protected |
Definition at line 422 of file HGCalGeometry.cc.
References m_topology, and HGCalTopology::totalGeomModules().
Referenced by topology().
void HGCalGeometry::sortDetIds | ( | void | ) |
Definition at line 535 of file HGCalGeometry.cc.
References CaloSubdetectorGeometry::m_validIds.
Referenced by HGCalGeometryLoader::build(), and topology().
|
inline |
Definition at line 102 of file HGCalGeometry.h.
References addValidID(), cellGeomPtr(), getClosestCellIndex(), getGeometryRawPtr(), indexFor(), m_topology, AlCaHLTBitMon_ParallelJobs::p, sizeForDenseIndex(), CaloSubdetectorGeometry::sizeForDenseIndex(), and sortDetIds().
Referenced by hgc_digi_utils::addCellMetadata(), HGCalRecHitValidation::analyze(), HGCalDigiValidation::analyze(), PFRecHitQTestThresholdInThicknessNormalizedMIPs::beginEvent(), CaloTruthAccumulator::beginLuminosityBlock(), dbString(), HGCalTriggerGeometryBase::eeTopology(), HGCalTriggerGeometryBase::fhTopology(), CaloParticleDebugger::fillSimHits(), CaloGeometryBuilder::produceAligned(), HGCalRecHitWorkerSimple::set(), and HGCalUncalibRecHitRecWeightsAlgo< HGCDataFrame >::setGeometry().
|
static |
Definition at line 44 of file HGCalGeometry.h.
Referenced by HGCalGeometryLoader::build(), and getSummary().
|
static |
Definition at line 45 of file HGCalGeometry.h.
Referenced by CaloGeometryDBEP< T, U >::produceAligned().
|
static |
Definition at line 43 of file HGCalGeometry.h.
Referenced by HGCalGeometryLoader::build(), and getSummary().
|
static |
Definition at line 46 of file HGCalGeometry.h.
Referenced by HGCalGeometryLoader::build(), getSummary(), and CaloGeometryDBEP< T, U >::produceAligned().
|
static |
Definition at line 47 of file HGCalGeometry.h.
Referenced by HGCalGeometryLoader::build().
|
private |
Definition at line 126 of file HGCalGeometry.h.
Referenced by cellGeomPtr(), getClosestCell(), getClosestCellIndex(), getCorners(), getGeometryRawPtr(), getPosition(), HGCalGeometry(), indexFor(), and newCell().
|
private |
Definition at line 127 of file HGCalGeometry.h.
Referenced by cellGeomPtr(), getClosestCell(), getClosestCellIndex(), getCorners(), getGeometryRawPtr(), getPosition(), HGCalGeometry(), indexFor(), and newCell().
|
private |
Definition at line 130 of file HGCalGeometry.h.
Referenced by cellElement(), cellGeomPtr(), getClosestCell(), getClosestCellIndex(), getCorners(), getGeometryRawPtr(), getSummary(), HGCalGeometry(), indexFor(), localCorners(), and newCell().
|
private |
Definition at line 131 of file HGCalGeometry.h.
Referenced by cellElement().
|
private |
Definition at line 125 of file HGCalGeometry.h.
Referenced by getClosestCell(), getCorners(), getGeometry(), getPosition(), getSummary(), HGCalGeometry(), indexFor(), newCell(), present(), sizeForDenseIndex(), and topology().
|
private |
Definition at line 128 of file HGCalGeometry.h.
Referenced by cellGeomPtr(), getClosestCell(), getSummary(), getValidGeomDetIds(), and newCell().
|
private |
Definition at line 129 of file HGCalGeometry.h.
Referenced by getClosestCell(), getCorners(), getGeometry(), getPosition(), getSummary(), indexFor(), newCell(), and present().
|
private |
Definition at line 132 of file HGCalGeometry.h.
Referenced by getSummary().