#include <HcalGeometry.h>
Public Types | |
enum | { k_NumberOfParametersPerShape = 5 } |
typedef HcalGeometryRecord | AlignedRecord |
typedef HcalAlignmentRcd | AlignmentRecord |
typedef CaloCellGeometry::CCGFloat | CCGFloat |
typedef HcalDetId | DetIdType |
typedef std::vector < IdealObliquePrism > | HBCellVec |
typedef std::vector < IdealObliquePrism > | HECellVec |
typedef std::vector< IdealZPrism > | HFCellVec |
typedef std::vector < IdealObliquePrism > | HOCellVec |
typedef PHcalRcd | PGeometryRecord |
typedef CaloCellGeometry::Pt3D | Pt3D |
typedef CaloCellGeometry::Pt3DVec | Pt3DVec |
Public Types inherited from CaloSubdetectorGeometry | |
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 | |
virtual CaloSubdetectorGeometry::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... | |
virtual void | getSummary (CaloSubdetectorGeometry::TrVec &trVector, CaloSubdetectorGeometry::IVec &iVector, CaloSubdetectorGeometry::DimVec &dimVector, CaloSubdetectorGeometry::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... | |
HcalGeometry (const HcalTopology &topology) | |
void | localCorners (Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref) |
virtual void | newCell (const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) |
virtual unsigned int | numberOfParametersPerShape () const |
virtual unsigned int | numberOfShapes () const |
virtual | ~HcalGeometry () |
The HcalGeometry will delete all its cell geometries at destruction time. More... | |
Public Member Functions inherited from CaloSubdetectorGeometry | |
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 CellSet | getCellSet (const GlobalPoint &r, double dR) const |
virtual void | initializeParms () |
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... | |
Static Public Member Functions | |
static unsigned int | alignmentBarEndForIndexLocal (const DetId &id, unsigned int nD) |
static unsigned int | alignmentBarrelIndexLocal (const DetId &id) |
static unsigned int | alignmentEndcapIndexLocal (const DetId &id) |
static unsigned int | alignmentForwardIndexLocal (const DetId &id) |
static unsigned int | alignmentOuterIndexLocal (const DetId &id) |
static unsigned int | alignmentTransformIndexGlobal (const DetId &id) |
static unsigned int | alignmentTransformIndexLocal (const DetId &id) |
static std::string | dbString () |
static DetId | detIdFromBarrelAlignmentIndex (unsigned int i) |
static DetId | detIdFromEndcapAlignmentIndex (unsigned int i) |
static DetId | detIdFromForwardAlignmentIndex (unsigned int i) |
static DetId | detIdFromLocalAlignmentIndex (unsigned int i) |
static DetId | detIdFromOuterAlignmentIndex (unsigned int i) |
static unsigned int | numberOfAlignments () |
static unsigned int | numberOfBarrelAlignments () |
static unsigned int | numberOfEndcapAlignments () |
static unsigned int | numberOfForwardAlignments () |
static unsigned int | numberOfOuterAlignments () |
static std::string | producerTag () |
Protected Member Functions | |
virtual const CaloCellGeometry * | cellGeomPtr (unsigned int index) const |
virtual unsigned int | indexFor (const DetId &id) const |
virtual unsigned int | sizeForDenseIndex (const DetId &id) const |
Protected Member Functions inherited from CaloSubdetectorGeometry | |
void | addValidID (const DetId &id) |
virtual const CaloCellGeometry * | cellGeomPtr (uint32_t index) const =0 |
Private Member Functions | |
int | etaRing (HcalSubdetector bc, double abseta) const |
helper methods for getClosestCell More... | |
void | fillDetIds () const |
void | init () |
int | phiBin (HcalSubdetector bc, int etaring, double phi) const |
Private Attributes | |
CaloSubdetectorGeometry::IVec | m_dins |
edm::AtomicPtrCache < std::vector< DetId > > | m_emptyIds |
HBCellVec | m_hbCellVec |
edm::AtomicPtrCache < std::vector< DetId > > | m_hbIds |
HECellVec | m_heCellVec |
edm::AtomicPtrCache < std::vector< DetId > > | m_heIds |
HFCellVec | m_hfCellVec |
edm::AtomicPtrCache < std::vector< DetId > > | m_hfIds |
HOCellVec | m_hoCellVec |
edm::AtomicPtrCache < std::vector< DetId > > | m_hoIds |
const HcalTopology & | theTopology |
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 14 of file HcalGeometry.h.
Definition at line 28 of file HcalGeometry.h.
Definition at line 27 of file HcalGeometry.h.
Definition at line 23 of file HcalGeometry.h.
typedef HcalDetId HcalGeometry::DetIdType |
Definition at line 30 of file HcalGeometry.h.
typedef std::vector<IdealObliquePrism> HcalGeometry::HBCellVec |
Definition at line 18 of file HcalGeometry.h.
typedef std::vector<IdealObliquePrism> HcalGeometry::HECellVec |
Definition at line 19 of file HcalGeometry.h.
typedef std::vector<IdealZPrism> HcalGeometry::HFCellVec |
Definition at line 21 of file HcalGeometry.h.
typedef std::vector<IdealObliquePrism> HcalGeometry::HOCellVec |
Definition at line 20 of file HcalGeometry.h.
Definition at line 29 of file HcalGeometry.h.
Definition at line 24 of file HcalGeometry.h.
Definition at line 25 of file HcalGeometry.h.
anonymous enum |
|
explicit |
|
virtual |
The HcalGeometry will delete all its cell geometries at destruction time.
Definition at line 19 of file HcalGeometry.cc.
|
static |
Definition at line 261 of file HcalGeometry.cc.
References assert(), HcalDetId::ieta(), cmsHarvester::index, and HcalDetId::iphi().
Referenced by alignmentBarrelIndexLocal(), alignmentEndcapIndexLocal(), and alignmentForwardIndexLocal().
|
static |
Definition at line 271 of file HcalGeometry.cc.
References alignmentBarEndForIndexLocal(), and numberOfBarrelAlignments().
Referenced by alignmentTransformIndexLocal().
|
static |
Definition at line 275 of file HcalGeometry.cc.
References alignmentBarEndForIndexLocal(), and numberOfEndcapAlignments().
Referenced by alignmentTransformIndexLocal().
|
static |
Definition at line 279 of file HcalGeometry.cc.
References alignmentBarEndForIndexLocal(), and numberOfForwardAlignments().
Referenced by alignmentTransformIndexLocal().
|
static |
Definition at line 283 of file HcalGeometry.cc.
References assert(), HcalDetId::ieta(), cmsHarvester::index, HcalDetId::iphi(), numberOfOuterAlignments(), and relativeConstraints::ring.
Referenced by alignmentTransformIndexLocal().
|
static |
Definition at line 321 of file HcalGeometry.cc.
References DetId::Hcal.
Referenced by CaloGeometryDBEP< T, U >::produceAligned().
|
static |
Definition at line 297 of file HcalGeometry.cc.
References alignmentBarrelIndexLocal(), alignmentEndcapIndexLocal(), alignmentForwardIndexLocal(), alignmentOuterIndexLocal(), assert(), DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, cmsHarvester::index, isHB(), isHE(), isHF(), numberOfAlignments(), numberOfBarrelAlignments(), numberOfEndcapAlignments(), numberOfForwardAlignments(), and HcalDetId::subdet().
Referenced by CaloGeometryDBEP< T, U >::produceAligned().
|
protectedvirtual |
Definition at line 376 of file HcalGeometry.cc.
References cropTnPTrees::din, cmsHarvester::index, m_hbCellVec, m_heCellVec, m_hfCellVec, m_hoCellVec, and CaloCellGeometry::param().
Referenced by getGeometry(), and getSummary().
|
inlinestatic |
Definition at line 35 of file HcalGeometry.h.
Referenced by CaloGeometryDBEP< T, U >::produceAligned().
|
static |
Definition at line 215 of file HcalGeometry.cc.
References assert(), HcalBarrel, and numberOfBarrelAlignments().
Referenced by detIdFromLocalAlignmentIndex(), FakeCaloAlignmentEP::produceHBAli(), and TestCaloAlignmentEP::produceHBAli().
|
static |
Definition at line 222 of file HcalGeometry.cc.
References assert(), HcalEndcap, and numberOfEndcapAlignments().
Referenced by detIdFromLocalAlignmentIndex(), FakeCaloAlignmentEP::produceHEAli(), and TestCaloAlignmentEP::produceHEAli().
|
static |
Definition at line 229 of file HcalGeometry.cc.
References assert(), HcalForward, and numberOfForwardAlignments().
Referenced by detIdFromLocalAlignmentIndex(), FakeCaloAlignmentEP::produceHFAli(), and TestCaloAlignmentEP::produceHFAli().
|
static |
Definition at line 247 of file HcalGeometry.cc.
References assert(), detIdFromBarrelAlignmentIndex(), detIdFromEndcapAlignmentIndex(), detIdFromForwardAlignmentIndex(), detIdFromOuterAlignmentIndex(), numberOfAlignments(), numberOfBarrelAlignments(), numberOfEndcapAlignments(), and numberOfForwardAlignments().
|
static |
Definition at line 236 of file HcalGeometry.cc.
References assert(), HcalOuter, numberOfOuterAlignments(), and relativeConstraints::ring.
Referenced by detIdFromLocalAlignmentIndex(), FakeCaloAlignmentEP::produceHOAli(), and TestCaloAlignmentEP::produceHOAli().
|
private |
helper methods for getClosestCell
Definition at line 145 of file HcalGeometry.cc.
References HcalTopology::etaRing(), and theTopology.
Referenced by getCells(), and getClosestCell().
|
private |
Definition at line 34 of file HcalGeometry.cc.
References CaloSubdetectorGeometry::getValidDetIds(), HcalBarrel, HcalEndcap, HcalForward, HcalOuter, i, edm::AtomicPtrCache< T >::isSet(), m_emptyIds, m_hbIds, m_heIds, m_hfIds, m_hoIds, eostools::move(), and edm::AtomicPtrCache< T >::set().
Referenced by getValidDetIds().
|
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 from CaloSubdetectorGeometry.
Definition at line 153 of file HcalGeometry.cc.
References reco::deltaR2(), eta, PV3DBase< T, PVType, FrameType >::eta(), HcalTopology::etaMax(), etaRing(), CaloSubdetectorGeometry::getCells(), getGeometry(), CaloCellGeometry::getPosition(), HcalBarrel, HcalEndcap, HcalForward, HcalOuter, M_PI, HcalTopology::maxDepth(), AlCaHLTBitMon_ParallelJobs::p, phi, PV3DBase< T, PVType, FrameType >::phi(), phiBin(), jetcorrextractor::sign(), theTopology, and HcalTopology::valid().
|
virtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 80 of file HcalGeometry.cc.
References funct::abs(), assert(), PV3DBase< T, PVType, FrameType >::eta(), HcalTopology::etaMax(), etaRing(), getGeometry(), CaloCellGeometry::getPosition(), HcalBarrel, HcalEmpty, HcalEndcap, HcalForward, HcalTopology::incrementDepth(), PV3DBase< T, PVType, FrameType >::mag(), PV3DBase< T, PVType, FrameType >::phi(), phiBin(), theTopology, and PV3DBase< T, PVType, FrameType >::z().
|
inlinevirtual |
Get the cell geometry of a given detector id. Should return false if not found.
Reimplemented from CaloSubdetectorGeometry.
Definition at line 99 of file HcalGeometry.h.
References cellGeomPtr(), HcalTopology::detId2denseId(), and theTopology.
Referenced by getCells(), and getClosestCell().
|
virtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 398 of file HcalGeometry.cc.
References assert(), begin, EZArrayFL< T >::begin(), cellGeomPtr(), EZArrayFL< T >::end(), CaloCellGeometry::getPosition(), CaloCellGeometry::getTransform(), i, relval_2017::k, m_dins, HcalTopology::ncells(), numberOfParametersPerShape(), numberOfShapes(), CaloSubdetectorGeometry::numberOfTransformParms(), convertSQLiteXML::ok, CaloCellGeometry::param(), CaloSubdetectorGeometry::parVecVec(), MetAnalyzer::pv(), findQualityFiles::rr, theTopology, and groupFilesInBlocks::tt.
|
virtual |
Get a list of valid detector ids (for the given subdetector)
Reimplemented from CaloSubdetectorGeometry.
Definition at line 70 of file HcalGeometry.cc.
References fillDetIds(), CaloSubdetectorGeometry::getValidDetIds(), HcalBarrel, HcalEndcap, HcalForward, HcalOuter, edm::AtomicPtrCache< T >::isSet(), edm::AtomicPtrCache< T >::load(), m_emptyIds, m_hbIds, m_heIds, m_hfIds, and m_hoIds.
|
inlineprotectedvirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 111 of file HcalGeometry.h.
References HcalTopology::detId2denseId(), and theTopology.
|
private |
Definition at line 21 of file HcalGeometry.cc.
References HcalTopology::getHBSize(), HcalTopology::getHESize(), HcalTopology::getHFSize(), HcalTopology::getHOSize(), m_hbCellVec, m_heCellVec, m_hfCellVec, m_hoCellVec, and theTopology.
Referenced by HcalGeometry().
Definition at line 325 of file HcalGeometry.cc.
References HcalTopology::denseId2detId(), HcalForward, IdealObliquePrism::localCorners(), IdealZPrism::localCorners(), HcalDetId::subdet(), and theTopology.
|
virtual |
Implements CaloSubdetectorGeometry.
Definition at line 338 of file HcalGeometry.cc.
References CaloSubdetectorGeometry::addValidID(), assert(), CaloSubdetectorGeometry::cornersMgr(), DetId::det(), HcalTopology::detId2denseId(), cropTnPTrees::din, IdealZPrism::EM, IdealZPrism::HADR, DetId::Hcal, HcalBarrel, HcalEndcap, HcalOuter, cmsHarvester::index, m_dins, m_hbCellVec, m_heCellVec, m_hfCellVec, m_hoCellVec, DetId::rawId(), DetId::subdetId(), and theTopology.
|
inlinestatic |
Definition at line 66 of file HcalGeometry.h.
References numberOfBarrelAlignments(), numberOfEndcapAlignments(), numberOfForwardAlignments(), and numberOfOuterAlignments().
Referenced by alignmentTransformIndexLocal(), detIdFromLocalAlignmentIndex(), CaloGeometryDBEP< T, U >::produceAligned(), and HcalAlignmentEP::produceHcalAli().
|
inlinestatic |
Definition at line 56 of file HcalGeometry.h.
Referenced by alignmentBarrelIndexLocal(), alignmentTransformIndexLocal(), detIdFromBarrelAlignmentIndex(), detIdFromLocalAlignmentIndex(), numberOfAlignments(), FakeCaloAlignmentEP::produceHBAli(), TestCaloAlignmentEP::produceHBAli(), and HcalAlignmentEP::produceHcalAli().
|
inlinestatic |
Definition at line 58 of file HcalGeometry.h.
Referenced by alignmentEndcapIndexLocal(), alignmentTransformIndexLocal(), detIdFromEndcapAlignmentIndex(), detIdFromLocalAlignmentIndex(), numberOfAlignments(), HcalAlignmentEP::produceHcalAli(), FakeCaloAlignmentEP::produceHEAli(), and TestCaloAlignmentEP::produceHEAli().
|
inlinestatic |
Definition at line 60 of file HcalGeometry.h.
Referenced by alignmentForwardIndexLocal(), alignmentTransformIndexLocal(), detIdFromForwardAlignmentIndex(), detIdFromLocalAlignmentIndex(), numberOfAlignments(), HcalAlignmentEP::produceHcalAli(), FakeCaloAlignmentEP::produceHFAli(), and TestCaloAlignmentEP::produceHFAli().
|
inlinestatic |
Definition at line 62 of file HcalGeometry.h.
Referenced by alignmentOuterIndexLocal(), detIdFromOuterAlignmentIndex(), numberOfAlignments(), HcalAlignmentEP::produceHcalAli(), FakeCaloAlignmentEP::produceHOAli(), and TestCaloAlignmentEP::produceHOAli().
|
inlinevirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 38 of file HcalGeometry.h.
References k_NumberOfParametersPerShape.
Referenced by getSummary().
|
inlinevirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 37 of file HcalGeometry.h.
References HcalTopology::getNumberOfShapes(), and theTopology.
Referenced by getSummary().
|
private |
Definition at line 149 of file HcalGeometry.cc.
References HcalTopology::phiBin(), and theTopology.
Referenced by getCells(), and getClosestCell().
|
inlinestatic |
Definition at line 54 of file HcalGeometry.h.
Referenced by PCaloGeometryBuilder::beginRun(), HcalHardcodeGeometryEP::HcalHardcodeGeometryEP(), CaloGeometryDBEP< T, U >::produceAligned(), and CaloGeometryBuilder::produceAligned().
|
inlineprotectedvirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 112 of file HcalGeometry.h.
References HcalTopology::ncells(), and theTopology.
|
private |
Definition at line 131 of file HcalGeometry.h.
Referenced by getSummary(), and newCell().
|
mutableprivate |
Definition at line 130 of file HcalGeometry.h.
Referenced by fillDetIds(), and getValidDetIds().
|
private |
Definition at line 133 of file HcalGeometry.h.
Referenced by cellGeomPtr(), init(), and newCell().
|
mutableprivate |
Definition at line 126 of file HcalGeometry.h.
Referenced by fillDetIds(), and getValidDetIds().
|
private |
Definition at line 134 of file HcalGeometry.h.
Referenced by cellGeomPtr(), init(), and newCell().
|
mutableprivate |
Definition at line 127 of file HcalGeometry.h.
Referenced by fillDetIds(), and getValidDetIds().
|
private |
Definition at line 136 of file HcalGeometry.h.
Referenced by cellGeomPtr(), init(), and newCell().
|
mutableprivate |
Definition at line 129 of file HcalGeometry.h.
Referenced by fillDetIds(), and getValidDetIds().
|
private |
Definition at line 135 of file HcalGeometry.h.
Referenced by cellGeomPtr(), init(), and newCell().
|
mutableprivate |
Definition at line 128 of file HcalGeometry.h.
Referenced by fillDetIds(), and getValidDetIds().
|
private |
Definition at line 124 of file HcalGeometry.h.
Referenced by etaRing(), getCells(), getClosestCell(), getGeometry(), getSummary(), indexFor(), init(), localCorners(), newCell(), numberOfShapes(), phiBin(), and sizeForDenseIndex().