#include <HGCalTBGeometry.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) |
CornersVec | get8Corners (const DetId &id) const |
double | getArea (const DetId &detid) const |
Returns area of a cell. More... | |
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... | |
CornersVec | getNewCorners (const DetId &id, bool debug=false) const |
GlobalPoint | getPosition (const DetId &id, bool debug=false) 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 |
GlobalPoint | getWaferPosition (const DetId &id) const |
HGCalTBGeometry (const HGCalTBTopology &topology) | |
void | initializeParms () override |
void | localCorners (Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref) |
DetId | neighborZ (const DetId &idin, const GlobalVector &p) const |
DetId | neighborZ (const DetId &idin, const MagneticField *bField, int charge, const GlobalVector &momentum) const |
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 HGCalTBTopology & | topology () const |
~HGCalTBGeometry () 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 bool | valid (const DetId &id) 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 constexpr unsigned int | k_NumberOfParametersPerHex = 3 |
static constexpr unsigned int | k_NumberOfParametersPerShape = 3 |
static constexpr unsigned int | k_NumberOfParametersPerTrd = 12 |
static constexpr unsigned int | k_NumberOfShapes = 100 |
static constexpr 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 |
virtual unsigned int | sizeForDenseIndex (const DetId &id) const |
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 |
DetId | getGeometryDetId (DetId detId) const |
Private Attributes | |
CellVec | m_cellVec |
DetId::Detector | m_det |
ForwardSubdetector | m_subdet |
const HGCalTBTopology & | m_topology |
std::vector< DetId > | m_validGeomIds |
const double | twoBysqrt3_ |
Static Private Attributes | |
static constexpr double | k_fac1 = 0.5 |
static constexpr double | k_fac2 = 1.0 / 3.0 |
static constexpr double | k_half = 0.5 |
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 HGCalTBGeometry.h.
Definition at line 38 of file HGCalTBGeometry.h.
Definition at line 31 of file HGCalTBGeometry.h.
typedef std::vector<FlatHexagon> HGCalTBGeometry::CellVec |
Definition at line 29 of file HGCalTBGeometry.h.
typedef std::vector<FlatTrd> HGCalTBGeometry::CellVec2 |
Definition at line 30 of file HGCalTBGeometry.h.
typedef std::vector<GlobalPoint> HGCalTBGeometry::CornersVec |
Definition at line 36 of file HGCalTBGeometry.h.
typedef std::set<DetId> HGCalTBGeometry::DetIdSet |
Definition at line 35 of file HGCalTBGeometry.h.
Definition at line 39 of file HGCalTBGeometry.h.
Definition at line 32 of file HGCalTBGeometry.h.
Definition at line 33 of file HGCalTBGeometry.h.
HGCalTBGeometry::HGCalTBGeometry | ( | const HGCalTBTopology & | topology | ) |
Definition at line 26 of file HGCalTBGeometry.cc.
References m_cellVec, m_topology, CaloSubdetectorGeometry::m_validIds, HGCalTBTopology::totalGeomModules(), and HGCalTBTopology::totalModules().
|
override |
Definition at line 39 of file HGCalTBGeometry.cc.
|
protected |
Definition at line 388 of file HGCalTBGeometry.cc.
std::string HGCalTBGeometry::cellElement | ( | ) | const |
Definition at line 331 of file HGCalTBGeometry.cc.
References HGCEE, HGCHEF, and m_subdet.
|
overrideprotectedvirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 363 of file HGCalTBGeometry.cc.
References m_cellVec.
Referenced by cellGeomPtr(), getGeometry(), and getSummary().
|
private |
Definition at line 373 of file HGCalTBGeometry.cc.
References cellGeomPtr(), m_cellVec, m_validGeomIds, and nano_mu_digi_cff::rawId.
|
inlinestatic |
Definition at line 47 of file HGCalTBGeometry.h.
|
virtual |
Definition at line 41 of file HGCalTBGeometry.cc.
HGCalTBGeometry::CornersVec HGCalTBGeometry::get8Corners | ( | const DetId & | id | ) | const |
Definition at line 173 of file HGCalTBGeometry.cc.
References cms::cuda::co, HGCalTBTopology::dddConstants(), HGCalTBTopology::decode(), ALCARECOPPSCalTrackBasedSel_cff::detid, PVValHelper::dx, PVValHelper::dz, mps_fire::i, indexFor(), FlatHexagon::k_dZ, FlatHexagon::k_r, HGCalTBDDDConstants::locateCellHex(), m_cellVec, m_topology, FlatTrd::ncorner_, and geometryCSVtoXML::xy.
double HGCalTBGeometry::getArea | ( | const DetId & | detid | ) | const |
Returns area of a cell.
Definition at line 137 of file HGCalTBGeometry.cc.
References funct::abs(), custom_jme_cff::area, ALCARECOPPSCalTrackBasedSel_cff::detid, getNewCorners(), mps_fire::i, dqmiolumiharvest::j, create_idmaps::n, and y.
|
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 326 of file HGCalTBGeometry.cc.
|
overridevirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 292 of file HGCalTBGeometry.cc.
References HGCalTBDDDConstants::assignCell(), HGCalTBTopology::dddConstants(), HGCalTBTopology::decode(), HGCalTBTopology::DecodedDetId::det, HGCalTBTopology::detector(), HGCalTBTopology::encode(), getClosestCellIndex(), DTRecHitClients_cfi::local, m_cellVec, m_topology, m_validGeomIds, alignCSCRings::r, and HGCalTBDDDConstants::waferTypeT().
Referenced by neighborZ().
|
protected |
Definition at line 392 of file HGCalTBGeometry.cc.
References m_cellVec, and alignCSCRings::r.
Referenced by getClosestCell().
|
private |
Definition at line 397 of file HGCalTBGeometry.cc.
References funct::abs(), PVValHelper::dz, getPosition(), isotrackApplyRegressor::k, M_PI, alignCSCRings::r, and z.
HGCalTBGeometry::CornersVec HGCalTBGeometry::getCorners | ( | const DetId & | id | ) | const |
Returns the corner points of this cell's volume.
Definition at line 151 of file HGCalTBGeometry.cc.
References cms::cuda::co, HGCalTBTopology::dddConstants(), HGCalTBTopology::decode(), ALCARECOPPSCalTrackBasedSel_cff::detid, PVValHelper::dx, PVValHelper::dy, PVValHelper::dz, DetId::HGCalHSc, mps_fire::i, indexFor(), FlatHexagon::k_dZ, k_half, FlatHexagon::k_r, FlatHexagon::k_R, HGCalTBDDDConstants::locateCellHex(), m_cellVec, m_det, m_topology, FlatHexagon::ncorner_, FlatTrd::ncorner_, and geometryCSVtoXML::xy.
|
overridevirtual |
Get the cell geometry of a given detector id. Should return false if not found.
Reimplemented from CaloSubdetectorGeometry.
Definition at line 88 of file HGCalTBGeometry.cc.
References cellGeomPtr(), hcalRecHitTable_cff::detId, HGCalTBTopology::detId2denseGeomId(), getGeometryDetId(), getPosition(), and m_topology.
Definition at line 507 of file HGCalTBGeometry.cc.
References hcalRecHitTable_cff::detId, and HGCalDetId::geometryCell().
Referenced by getGeometry(), indexFor(), newCell(), and present().
|
overrideprotectedvirtual |
Implements CaloSubdetectorGeometry.
Definition at line 355 of file HGCalTBGeometry.cc.
References m_cellVec, and CaloCellGeometry::param().
Referenced by present().
HGCalTBGeometry::CornersVec HGCalTBGeometry::getNewCorners | ( | const DetId & | id, |
bool | debug = false |
||
) | const |
Definition at line 195 of file HGCalTBGeometry.cc.
References cms::cuda::co, HGCalTBTopology::dddConstants(), debug, HGCalTBTopology::decode(), ALCARECOPPSCalTrackBasedSel_cff::detid, PVValHelper::dx, PVValHelper::dy, PVValHelper::dz, DetId::HGCalHSc, mps_fire::i, indexFor(), FlatHexagon::k_dZ, k_fac1, k_fac2, FlatHexagon::k_r, FlatHexagon::k_R, HGCalTBDDDConstants::locateCellHex(), m_cellVec, m_det, m_topology, and geometryCSVtoXML::xy.
Referenced by getArea().
GlobalPoint HGCalTBGeometry::getPosition | ( | const DetId & | id, |
bool | debug = false |
||
) | const |
Definition at line 105 of file HGCalTBGeometry.cc.
References HGCalTBTopology::dddConstants(), debug, HGCalTBTopology::decode(), ALCARECOPPSCalTrackBasedSel_cff::detid, indexFor(), HGCalTBDDDConstants::locateCellHex(), m_cellVec, m_topology, reco_skim_cfg_mod::maxSize, and geometryCSVtoXML::xy.
Referenced by HGCalTBAnalyzer::analyzeDigi(), HGCalTBAnalyzer::analyzeRecHits(), getClosestCellIndex(), getGeometry(), and neighborZ().
|
overridevirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 443 of file HGCalTBGeometry.cc.
References cellGeomPtr(), HGCalTBParameters::hgtrap::cellSize, HGCalTBTopology::dddConstants(), hcalRecHitTable_cff::detId, HGCalTBTopology::detId2denseGeomId(), HGCalTBParameters::hgtrap::dz, HGCalTBDDDConstants::getModule(), HGCalTBDDDConstants::getTrForm(), HGCalTBDDDConstants::getTrFormN(), runTauDisplay::gp, DetId::HGCalHSc, mps_fire::i, FlatHexagon::k_dZ, k_NumberOfParametersPerHex, k_NumberOfParametersPerTrd, k_NumberOfShapes, FlatHexagon::k_r, FlatHexagon::k_R, HGCalTBParameters::hgtrform::lay, nano_mu_digi_cff::layer, HGCalDetId::layer(), m_det, m_topology, m_validGeomIds, CaloSubdetectorGeometry::numberOfParametersPerShape(), CaloSubdetectorGeometry::numberOfShapes(), CaloSubdetectorGeometry::numberOfTransformParms(), submitPVValidationJobs::params, findQualityFiles::rr, HGCalTBDDDConstants::sectors(), HGCalTBTopology::totalGeomModules(), groupFilesInBlocks::tt, twoBysqrt3_, and HGCalTBDDDConstants::waferInLayer().
|
inlineoverridevirtual |
Get a list of valid detector ids (for the given subdetector)
Reimplemented from CaloSubdetectorGeometry.
Definition at line 87 of file HGCalTBGeometry.h.
References CaloSubdetectorGeometry::m_validIds.
|
inline |
GlobalPoint HGCalTBGeometry::getWaferPosition | ( | const DetId & | id | ) | const |
Definition at line 122 of file HGCalTBGeometry.cc.
References TauDecayModes::dec, ALCARECOPPSCalTrackBasedSel_cff::detid, indexFor(), m_cellVec, and reco_skim_cfg_mod::maxSize.
|
overrideprotectedvirtual |
Reimplemented from CaloSubdetectorGeometry.
Definition at line 340 of file HGCalTBGeometry.cc.
References TauDecayModes::dec, hcalRecHitTable_cff::detId, HGCalTBTopology::detId2denseGeomId(), getGeometryDetId(), m_cellVec, m_topology, and DetId::rawId().
Referenced by get8Corners(), getCorners(), getNewCorners(), getPosition(), and getWaferPosition().
|
overridevirtual |
void HGCalTBGeometry::localCorners | ( | Pt3DVec & | lc, |
const CCGFloat * | pv, | ||
unsigned int | i, | ||
Pt3D & | ref | ||
) |
Definition at line 45 of file HGCalTBGeometry.cc.
References FlatHexagon::localCorners().
DetId HGCalTBGeometry::neighborZ | ( | const DetId & | idin, |
const GlobalVector & | p | ||
) | const |
Definition at line 226 of file HGCalTBGeometry.cc.
References HGCalTBTopology::dddConstants(), HGCalTBTopology::decode(), HGCalTBDDDConstants::firstLayer(), getClosestCell(), getPosition(), HGCalTBDDDConstants::lastLayer(), m_topology, AlCaHLTBitMon_ParallelJobs::p, alignCSCRings::r, HGCalTBDDDConstants::rangeR(), topology(), findQualityFiles::v, HGCalTBDDDConstants::waferZ(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), z, and PV3DBase< T, PVType, FrameType >::z().
DetId HGCalTBGeometry::neighborZ | ( | const DetId & | idin, |
const MagneticField * | bField, | ||
int | charge, | ||
const GlobalVector & | momentum | ||
) | const |
Definition at line 254 of file HGCalTBGeometry.cc.
References alongMomentum, Calorimetry_cff::bField, Plane::build(), ALCARECOTkAlJpsiMuMu_cff::charge, HGCalTBTopology::dddConstants(), HGCalTBTopology::decode(), HGCalTBDDDConstants::firstLayer(), getClosestCell(), getPosition(), TrajectoryStateOnSurface::globalPosition(), TrajectoryStateOnSurface::isValid(), HGCalTBDDDConstants::lastLayer(), M_PI, m_topology, AlCaHLTBitMon_ParallelJobs::p, AnalyticalPropagator::propagate(), alignCSCRings::r, HGCalTBDDDConstants::rangeR(), topology(), findQualityFiles::v, HGCalTBDDDConstants::waferZ(), z, and PV3DBase< T, PVType, FrameType >::z().
|
overridevirtual |
Implements CaloSubdetectorGeometry.
Definition at line 49 of file HGCalTBGeometry.cc.
References hgcalTBTopologyTester_cfi::cells, CaloSubdetectorGeometry::cornersMgr(), HGCalTBTopology::dddConstants(), TauDecayModes::dec, HGCalTBTopology::decode(), hcalRecHitTable_cff::detId, HGCalTBTopology::detId2denseGeomId(), HGCalTBTopology::encode(), validate-o2o-wbm::f1, validate-o2o-wbm::f2, getGeometryDetId(), m_cellVec, m_topology, m_validGeomIds, CaloSubdetectorGeometry::m_validIds, HGCalTBDDDConstants::numberCellsHexagon(), DetId::rawId(), and HGCalTBTopology::valid().
|
overridevirtual |
is this detid present in the geometry?
Reimplemented from CaloSubdetectorGeometry.
Definition at line 97 of file HGCalTBGeometry.cc.
References hcalRecHitTable_cff::detId, HGCalTBTopology::detId2denseGeomId(), getGeometryDetId(), getGeometryRawPtr(), and m_topology.
|
inlinestatic |
Definition at line 106 of file HGCalTBGeometry.h.
|
protected |
Definition at line 256 of file CaloSubdetectorGeometry.cc.
|
protected |
Definition at line 353 of file HGCalTBGeometry.cc.
References m_topology, and HGCalTBTopology::totalGeomModules().
void HGCalTBGeometry::sortDetIds | ( | void | ) |
Definition at line 438 of file HGCalTBGeometry.cc.
References CaloSubdetectorGeometry::m_validIds, and jetUpdater_cfi::sort.
|
inline |
|
staticprivate |
Definition at line 132 of file HGCalTBGeometry.h.
Referenced by getNewCorners().
|
staticprivate |
Definition at line 133 of file HGCalTBGeometry.h.
Referenced by getNewCorners().
|
staticprivate |
Definition at line 131 of file HGCalTBGeometry.h.
Referenced by getCorners().
|
static |
Definition at line 42 of file HGCalTBGeometry.h.
Referenced by HGCalTBGeometryLoader::build(), and getSummary().
|
static |
Definition at line 43 of file HGCalTBGeometry.h.
|
static |
Definition at line 41 of file HGCalTBGeometry.h.
Referenced by getSummary().
|
static |
Definition at line 44 of file HGCalTBGeometry.h.
Referenced by HGCalTBGeometryLoader::build(), and getSummary().
|
static |
Definition at line 45 of file HGCalTBGeometry.h.
|
private |
Definition at line 136 of file HGCalTBGeometry.h.
Referenced by cellGeomPtr(), get8Corners(), getClosestCell(), getClosestCellIndex(), getCorners(), getGeometryRawPtr(), getNewCorners(), getPosition(), getWaferPosition(), HGCalTBGeometry(), indexFor(), and newCell().
|
private |
Definition at line 138 of file HGCalTBGeometry.h.
Referenced by getCorners(), getNewCorners(), and getSummary().
|
private |
Definition at line 139 of file HGCalTBGeometry.h.
Referenced by cellElement().
|
private |
Definition at line 135 of file HGCalTBGeometry.h.
Referenced by get8Corners(), getClosestCell(), getCorners(), getGeometry(), getNewCorners(), getPosition(), getSummary(), HGCalTBGeometry(), indexFor(), neighborZ(), newCell(), present(), sizeForDenseIndex(), and topology().
|
private |
Definition at line 137 of file HGCalTBGeometry.h.
Referenced by cellGeomPtr(), getClosestCell(), getSummary(), getValidGeomDetIds(), and newCell().
|
private |
Definition at line 140 of file HGCalTBGeometry.h.
Referenced by getSummary().