#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... | |
unsigned int | getHxSize (const int type) const |
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 |
const HcalTopology & | topology () 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 & | m_topology |
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 270 of file HcalGeometry.cc.
References assert(), HcalDetId::ieta(), cmsHarvester::index, and HcalDetId::iphi().
Referenced by alignmentBarrelIndexLocal(), alignmentEndcapIndexLocal(), and alignmentForwardIndexLocal().
|
static |
Definition at line 280 of file HcalGeometry.cc.
References alignmentBarEndForIndexLocal(), and numberOfBarrelAlignments().
Referenced by alignmentTransformIndexLocal().
|
static |
Definition at line 284 of file HcalGeometry.cc.
References alignmentBarEndForIndexLocal(), and numberOfEndcapAlignments().
Referenced by alignmentTransformIndexLocal().
|
static |
Definition at line 288 of file HcalGeometry.cc.
References alignmentBarEndForIndexLocal(), and numberOfForwardAlignments().
Referenced by alignmentTransformIndexLocal().
|
static |
Definition at line 292 of file HcalGeometry.cc.
References assert(), HcalDetId::ieta(), cmsHarvester::index, HcalDetId::iphi(), numberOfOuterAlignments(), and relativeConstraints::ring.
Referenced by alignmentTransformIndexLocal().
|
static |
Definition at line 330 of file HcalGeometry.cc.
References DetId::Hcal.
Referenced by CaloGeometryDBEP< T, U >::produceAligned().
|
static |
Definition at line 306 of file HcalGeometry.cc.
References alignmentBarrelIndexLocal(), alignmentEndcapIndexLocal(), alignmentForwardIndexLocal(), alignmentOuterIndexLocal(), assert(), DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, cmsHarvester::index, HcalObjRepresent::isHB(), HcalObjRepresent::isHE(), HcalObjRepresent::isHF(), numberOfAlignments(), numberOfBarrelAlignments(), numberOfEndcapAlignments(), numberOfForwardAlignments(), and HcalDetId::subdet().
Referenced by CaloGeometryDBEP< T, U >::produceAligned().
|
protectedvirtual |
Definition at line 385 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 224 of file HcalGeometry.cc.
References assert(), HcalBarrel, and numberOfBarrelAlignments().
Referenced by detIdFromLocalAlignmentIndex(), FakeCaloAlignmentEP::produceHBAli(), and TestCaloAlignmentEP::produceHBAli().
|
static |
Definition at line 231 of file HcalGeometry.cc.
References assert(), HcalEndcap, and numberOfEndcapAlignments().
Referenced by detIdFromLocalAlignmentIndex(), FakeCaloAlignmentEP::produceHEAli(), and TestCaloAlignmentEP::produceHEAli().
|
static |
Definition at line 238 of file HcalGeometry.cc.
References assert(), HcalForward, and numberOfForwardAlignments().
Referenced by detIdFromLocalAlignmentIndex(), FakeCaloAlignmentEP::produceHFAli(), and TestCaloAlignmentEP::produceHFAli().
|
static |
Definition at line 256 of file HcalGeometry.cc.
References assert(), detIdFromBarrelAlignmentIndex(), detIdFromEndcapAlignmentIndex(), detIdFromForwardAlignmentIndex(), detIdFromOuterAlignmentIndex(), numberOfAlignments(), numberOfBarrelAlignments(), numberOfEndcapAlignments(), and numberOfForwardAlignments().
|
static |
Definition at line 245 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 m_topology.
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 getHxSize(), and 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, m_topology, HcalTopology::maxDepth(), AlCaHLTBitMon_ParallelJobs::p, phi, PV3DBase< T, PVType, FrameType >::phi(), phiBin(), jetcorrextractor::sign(), 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(), m_topology, PV3DBase< T, PVType, FrameType >::mag(), PV3DBase< T, PVType, FrameType >::phi(), phiBin(), 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 m_topology.
Referenced by getCells(), and getClosestCell().
unsigned int HcalGeometry::getHxSize | ( | const int | type | ) | const |
Definition at line 213 of file HcalGeometry.cc.
References fillDetIds(), edm::AtomicPtrCache< T >::isSet(), m_emptyIds, m_hbIds, m_heIds, m_hfIds, and m_hoIds.
Referenced by HcalRecHitsAnalyzer::dqmBeginRun(), and HcalDigisValidation::dqmBeginRun().
|
virtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 407 of file HcalGeometry.cc.
References assert(), begin, EZArrayFL< T >::begin(), cellGeomPtr(), EZArrayFL< T >::end(), CaloCellGeometry::getPosition(), CaloCellGeometry::getTransform(), runTauDisplay::gp, i, relval_2017::k, m_dins, m_topology, HcalTopology::ncells(), numberOfParametersPerShape(), numberOfShapes(), CaloSubdetectorGeometry::numberOfTransformParms(), convertSQLiteXML::ok, CaloCellGeometry::param(), CaloSubdetectorGeometry::parVecVec(), MetAnalyzer::pv(), findQualityFiles::rr, 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 114 of file HcalGeometry.h.
References HcalTopology::detId2denseId(), and m_topology.
|
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 m_topology.
Referenced by HcalGeometry().
Definition at line 334 of file HcalGeometry.cc.
References HcalTopology::denseId2detId(), HcalForward, IdealObliquePrism::localCorners(), IdealZPrism::localCorners(), m_topology, and HcalDetId::subdet().
|
virtual |
Implements CaloSubdetectorGeometry.
Definition at line 347 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, m_topology, DetId::rawId(), and DetId::subdetId().
|
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 m_topology.
Referenced by getSummary().
|
private |
Definition at line 149 of file HcalGeometry.cc.
References m_topology, and HcalTopology::phiBin().
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 115 of file HcalGeometry.h.
References m_topology, and HcalTopology::ncells().
|
inline |
Definition at line 108 of file HcalGeometry.h.
References m_topology.
Referenced by CaloTruthAccumulator::beginLuminosityBlock().
|
private |
Definition at line 134 of file HcalGeometry.h.
Referenced by getSummary(), and newCell().
|
mutableprivate |
Definition at line 133 of file HcalGeometry.h.
Referenced by fillDetIds(), getHxSize(), 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(), getHxSize(), and getValidDetIds().
|
private |
Definition at line 137 of file HcalGeometry.h.
Referenced by cellGeomPtr(), init(), and newCell().
|
mutableprivate |
Definition at line 130 of file HcalGeometry.h.
Referenced by fillDetIds(), getHxSize(), and getValidDetIds().
|
private |
Definition at line 139 of file HcalGeometry.h.
Referenced by cellGeomPtr(), init(), and newCell().
|
mutableprivate |
Definition at line 132 of file HcalGeometry.h.
Referenced by fillDetIds(), getHxSize(), and getValidDetIds().
|
private |
Definition at line 138 of file HcalGeometry.h.
Referenced by cellGeomPtr(), init(), and newCell().
|
mutableprivate |
Definition at line 131 of file HcalGeometry.h.
Referenced by fillDetIds(), getHxSize(), and getValidDetIds().
|
private |
Definition at line 127 of file HcalGeometry.h.
Referenced by etaRing(), getCells(), getClosestCell(), getGeometry(), getSummary(), indexFor(), init(), localCorners(), newCell(), numberOfShapes(), phiBin(), sizeForDenseIndex(), and topology().