#include <CaloCellGeometry.h>
Public Types | |
typedef float | CCGFloat |
typedef EZMgrFL< GlobalPoint > | CornersMgr |
enum | CornersSize { k_cornerSize = 8 } |
typedef EZArrayFL< GlobalPoint > | CornersVec |
typedef EZMgrFL< CCGFloat > | ParMgr |
typedef EZArrayFL< CCGFloat > | ParVec |
typedef std::vector< ParVec > | ParVecVec |
typedef HepGeom::Point3D < CCGFloat > | Pt3D |
typedef std::vector< Pt3D > | Pt3DVec |
typedef HepGeom::Transform3D | Tr3D |
Public Member Functions | |
bool | emptyCorners () const |
virtual const CornersVec & | getCorners () const =0 |
Returns the corner points of this cell's volume. More... | |
const GlobalPoint & | getPosition () const |
Returns the position of reference for this cell. More... | |
virtual void | getTransform (Tr3D &tr, Pt3DVec *lptr) const |
--------— only needed by specific utility; overloaded when needed -— More... | |
bool | inside (const GlobalPoint &point) const |
Returns true if the specified point is inside this cell. More... | |
const CCGFloat * | param () const |
virtual void | vocalCorners (Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const =0 |
virtual | ~CaloCellGeometry () |
Static Public Member Functions | |
static const CCGFloat * | checkParmPtr (const std::vector< CCGFloat > &vd, ParVecVec &pvv) |
static const CCGFloat * | getParmPtr (const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv) |
Static Public Attributes | |
static const CCGFloat | k_ScaleFromDDDtoGeant |
Protected Member Functions | |
CaloCellGeometry (CornersVec::const_reference gp, const CornersMgr *mgr, const CCGFloat *par) | |
CaloCellGeometry (const CornersVec &cv, const CCGFloat *par) | |
CaloCellGeometry (void) | |
CaloCellGeometry (const CaloCellGeometry &cell) | |
CaloCellGeometry & | operator= (const CaloCellGeometry &cell) |
CornersVec & | setCorners () const |
Private Attributes | |
CornersVec | m_corners |
const CCGFloat * | m_parms |
GlobalPoint | m_refPoint |
Abstract base class for an individual cell's geometry.
The base class declares a pure virtual function and also writes a definition (body) to force conscious acceptance of default behaviour.
If a derived class doesn't choose to override a normal virtual, it just inherits the base version's behaviour by default. If you want to provide a default behaviour but not let derived classes just inherit it "silently" like this, you can make it pure virtual but still provide a default that the derived class author has to call deliberately if he wants it:
Definition at line 48 of file CaloCellGeometry.h.
typedef float CaloCellGeometry::CCGFloat |
Definition at line 52 of file CaloCellGeometry.h.
typedef EZMgrFL< GlobalPoint > CaloCellGeometry::CornersMgr |
Definition at line 58 of file CaloCellGeometry.h.
typedef EZArrayFL< GlobalPoint > CaloCellGeometry::CornersVec |
Definition at line 57 of file CaloCellGeometry.h.
typedef EZMgrFL< CCGFloat > CaloCellGeometry::ParMgr |
Definition at line 62 of file CaloCellGeometry.h.
typedef EZArrayFL<CCGFloat> CaloCellGeometry::ParVec |
Definition at line 60 of file CaloCellGeometry.h.
typedef std::vector<ParVec> CaloCellGeometry::ParVecVec |
Definition at line 61 of file CaloCellGeometry.h.
Definition at line 54 of file CaloCellGeometry.h.
typedef std::vector<Pt3D> CaloCellGeometry::Pt3DVec |
Definition at line 55 of file CaloCellGeometry.h.
typedef HepGeom::Transform3D CaloCellGeometry::Tr3D |
Definition at line 53 of file CaloCellGeometry.h.
|
virtual |
Definition at line 42 of file CaloCellGeometry.cc.
|
protected |
Definition at line 63 of file CaloCellGeometry.cc.
|
protected |
Definition at line 71 of file CaloCellGeometry.cc.
|
protected |
Definition at line 19 of file CaloCellGeometry.cc.
|
protected |
Definition at line 25 of file CaloCellGeometry.cc.
|
static |
Definition at line 161 of file CaloCellGeometry.cc.
References EZArrayFL< T >::begin(), j, EZArrayFL< T >::size(), and v.
Referenced by getParmPtr().
bool CaloCellGeometry::emptyCorners | ( | ) | const |
Definition at line 52 of file CaloCellGeometry.cc.
References EZArrayFL< T >::empty(), and m_corners.
Referenced by operator<<().
|
pure virtual |
Returns the corner points of this cell's volume.
Implemented in IdealCastorTrapezoid, IdealObliquePrism, IdealZPrism, PreshowerStrip, TruncatedPyramid, and IdealZDCTrapezoid.
Definition at line 87 of file CaloCellGeometry.cc.
References m_corners.
Referenced by CaloGeometryHelper::buildCrystalArray(), PFRecHitProducerECAL::createEcalRecHit(), PFRecHitProducerHCAL::createHcalRecHit(), PFRecHitProducerHO::createHORecHit(), PFRecHitProducerPS::createRecHits(), CaloSubdetectorGeometry::deltaEta(), CaloSubdetectorGeometry::deltaPhi(), CaloTowersCreationAlgo::emCrystalShwrPos(), EcalEndcapGeometry::getClosestCell(), IdealZDCTrapezoid::getCorners(), IdealZPrism::getCorners(), TruncatedPyramid::getCorners(), PreshowerStrip::getCorners(), IdealObliquePrism::getCorners(), IdealCastorTrapezoid::getCorners(), HCaloDetIdAssociator::getDetIdPoints(), CaloDetIdAssociator::getDetIdPoints(), EcalShowerProperties::getDistance(), EcalShowerProperties::getSurface(), getTransform(), CaloTowersCreationAlgo::hadSegmentShwrPos(), CaloTowersCreationAlgo::hadShwPosFromCells(), inside(), JetMaker::makeSpecific(), reco::makeSpecific(), operator<<(), PlotEcalRecHits::printEcalRecHit(), EcalGeomPhiSymHelper::setup(), and ValidateGeometry::validateCaloGeometry().
|
static |
Definition at line 188 of file CaloCellGeometry.cc.
References prof2calltree::back, checkParmPtr(), and i.
Referenced by CaloTowerHardcodeGeometryLoader::makeCell(), CastorHardcodeGeometryLoader::makeCell(), ZdcHardcodeGeometryLoader::makeCell(), HcalDDDGeometryLoader::makeCell(), HcalHardcodeGeometryLoader::makeCell(), EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry(), and CaloGeometryDBEP< T, U >::produceAligned().
const GlobalPoint & CaloCellGeometry::getPosition | ( | ) | const |
Returns the position of reference for this cell.
Definition at line 46 of file CaloCellGeometry.cc.
References m_refPoint.
Referenced by HcalRecHitsValidation::analyze(), EcalTPGParamBuilder::analyze(), CaloTowersCreationAlgo::assignHit(), EcalEndcapGeometry::avgAbsZFrontFaceCenter(), EcalBarrelGeometry::avgRadiusXYFrontFaceCenter(), EcalBoundaryInfoCalculator< EcalDetId >::boundaryRecHits(), CaloRecoTauAlgorithm::buildCaloTau(), CaloGeometryHelper::buildCrystalArray(), SuperClusterShapeAlgo::Calculate_Covariances(), ClusterShapeAlgo::Calculate_Covariances(), ClusterShapeAlgo::Calculate_EnergyDepTopology(), ggPFClusters::ClusterWidth(), compEcalEnergySum(), compHcalEnergySum(), CaloTowersCreationAlgo::convert(), EcalClusterTools::covariances(), PFRecHitProducerECAL::createEcalRecHit(), PFRecHitProducerHCAL::createHcalRecHit(), PFRecHitProducerHO::createHORecHit(), PFRecHitProducerPS::createRecHits(), DistanceToCell::DistanceToCell(), EcalHitMaker::EcalHitMaker(), InvRingCalib::EERingDef(), CaloTowersCreationAlgo::emCrystalShwrPos(), GlobalHitsAnalyzer::fillECal(), GlobalHitsProdHist::fillECal(), GlobalHitsProducer::fillECal(), HCALRecHitAnalyzer::FillGeometry(), ECALRecHitAnalyzer::FillGeometry(), GlobalHitsAnalyzer::fillHCal(), GlobalHitsProdHist::fillHCal(), GlobalHitsProducer::fillHCal(), GlobalRecHitsAnalyzer::fillHCal(), GlobalRecHitsProducer::fillHCal(), EcalDeadCellBoundaryEnergyFilter::filter(), PFRecHitProducerECAL::findEcalRecHitGeometry(), PFRecHitProducerHO::findHORecHitGeometry(), EcalBoundaryInfoCalculator< EcalDetId >::gapRecHits(), TCTauAlgorithm::getCellMomentum(), HcalGeometry::getCells(), EcalEndcapGeometry::getCells(), CaloSubdetectorGeometry::getCells(), EcalBarrelGeometry::getCells(), EcalDeadCellTriggerPrimitiveFilter::getChannelStatusMaps(), EcalDeadCellDeltaRFilter::getChannelStatusMaps(), CaloGeometryHelper::getClosestCell(), HcalGeometry::getClosestCell(), CaloSubdetectorGeometry::getClosestCell(), EcalEndcapGeometry::getClosestCell(), EcalBarrelGeometry::getClosestCell(), EcalPreshowerGeometry::getClosestCellInPlane(), IdealZDCTrapezoid::getCorners(), PreshowerStrip::getCorners(), IdealZPrism::getCorners(), IdealObliquePrism::getCorners(), IdealCastorTrapezoid::getCorners(), L2TauModularIsolationProducer::getECALHits(), L2TauIsolationProducer::getECALHits(), L2TauNarrowConeIsolationProducer::getECALHits(), EcalClusterTools::getEnergyDepTopology(), ggPFESClusters::getLinkDist(), ParticleTowerProducer::getNearestTower(), CaloGeometry::getPosition(), HCaloDetIdAssociator::getPosition(), TruncatedPyramid::getPosition(), CaloDetIdAssociator::getPosition(), CaloSubdetectorGeometry::getSummary(), TruncatedPyramid::getTransform(), getTransform(), CaloTowersCreationAlgo::hadSegmentShwrPos(), CaloTowersCreationAlgo::hadShwPosFromCells(), EcalEndcapRecHitsMaker::init(), EcalBarrelRecHitsMaker::init(), PhotonFixCMS::initialise(), CaloGeometryHelper::initialize(), EcalRingCalibrationTools::initializeFromGeometry(), EcalPreshowerGeometry::initializeParms(), EcalEndcapGeometry::initializeParms(), TruncatedPyramid::makeAxis(), IslandClusterAlgo::makeClusters(), CosmicClusterAlgo::makeClusters(), Multi5x5ClusterAlgo::makeClusters(), HybridClusterAlgo::makeClusters(), PreshowerClusterAlgo::makeOneCluster(), EcalClusterTools::meanClusterPosition(), DistanceToCell::operator()(), operator<<(), PlotEcalRecHits::printEcalRecHit(), CastorEventDisplay::processEvent(), ParticleTowerProducer::produce(), JetCrystalsAssociator::produce(), ParticleTowerProducer::resetTowers(), EcalRecHitWorkerRecover::run(), EcalGeomPhiSymHelper::setup(), ggPFPhotons::SuperClusterSize(), CaloHitRespoNew::timeOfFlight(), EcalHitResponse::timeOfFlight(), and CaloHitResponse::timeOfFlight().
--------— only needed by specific utility; overloaded when needed -—
Reimplemented in TruncatedPyramid.
Definition at line 112 of file CaloCellGeometry.cc.
References angle(), getCorners(), getPosition(), i, mag(), AlCaHLTBitMon_ParallelJobs::p, param(), csvLumiCalc::unit, vocalCorners(), x, PV3DBase< T, PVType, FrameType >::x(), detailsBasic3DVector::y, PV3DBase< T, PVType, FrameType >::y(), detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by CaloSubdetectorGeometry::getSummary().
bool CaloCellGeometry::inside | ( | const GlobalPoint & | point | ) | const |
Returns true if the specified point is inside this cell.
Definition at line 209 of file CaloCellGeometry.cc.
References getCorners(), i, AlCaHLTBitMon_ParallelJobs::p, funct::true, x, PV3DBase< T, PVType, FrameType >::x(), detailsBasic3DVector::y, PV3DBase< T, PVType, FrameType >::y(), detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by CastorGeometry::getClosestCell(), CaloDetIdAssociator::insideElement(), and HCaloDetIdAssociator::insideElement().
|
protected |
Definition at line 31 of file CaloCellGeometry.cc.
References m_corners, m_parms, and m_refPoint.
Referenced by TruncatedPyramid::operator=(), IdealZDCTrapezoid::operator=(), PreshowerStrip::operator=(), IdealZPrism::operator=(), IdealObliquePrism::operator=(), and IdealCastorTrapezoid::operator=().
const CCGFloat * CaloCellGeometry::param | ( | ) | const |
Definition at line 58 of file CaloCellGeometry.cc.
References m_parms.
Referenced by IdealZDCTrapezoid::an(), IdealCastorTrapezoid::an(), EcalTBHodoscopeGeometry::cellGeomPtr(), HcalDDDGeometry::cellGeomPtr(), ZdcGeometry::cellGeomPtr(), CaloTowerGeometry::cellGeomPtr(), CastorGeometry::cellGeomPtr(), EcalPreshowerGeometry::cellGeomPtr(), HcalGeometry::cellGeomPtr(), EcalEndcapGeometry::cellGeomPtr(), EcalBarrelGeometry::cellGeomPtr(), IdealZPrism::dEta(), IdealObliquePrism::dEta(), IdealCastorTrapezoid::dh(), IdealZPrism::dPhi(), IdealObliquePrism::dPhi(), IdealCastorTrapezoid::dR(), IdealZDCTrapezoid::dx(), PreshowerStrip::dx(), IdealCastorTrapezoid::dxh(), IdealCastorTrapezoid::dxl(), IdealZDCTrapezoid::dy(), PreshowerStrip::dy(), IdealZDCTrapezoid::dz(), PreshowerStrip::dz(), IdealZPrism::dz(), IdealObliquePrism::dz(), IdealCastorTrapezoid::dz(), IdealZPrism::eta(), IdealObliquePrism::eta(), IdealZDCTrapezoid::getCorners(), IdealCastorTrapezoid::getCorners(), CaloSubdetectorGeometry::getSummary(), TruncatedPyramid::getTransform(), getTransform(), operator<<(), PreshowerStrip::tilt(), IdealZPrism::z(), and IdealObliquePrism::z().
|
protected |
Definition at line 81 of file CaloCellGeometry.cc.
References m_corners.
Referenced by IdealZDCTrapezoid::getCorners(), PreshowerStrip::getCorners(), TruncatedPyramid::getCorners(), IdealZPrism::getCorners(), IdealObliquePrism::getCorners(), and IdealCastorTrapezoid::getCorners().
|
pure virtual |
Implemented in IdealCastorTrapezoid, TruncatedPyramid, IdealObliquePrism, IdealZPrism, PreshowerStrip, and IdealZDCTrapezoid.
Referenced by getTransform().
|
static |
Definition at line 66 of file CaloCellGeometry.h.
Referenced by EcalTBHodoscopeGeometryLoaderFromDDD::makeGeometry().
|
mutableprivate |
Definition at line 116 of file CaloCellGeometry.h.
Referenced by emptyCorners(), getCorners(), operator=(), and setCorners().
|
private |
Definition at line 117 of file CaloCellGeometry.h.
Referenced by operator=(), and param().
|
private |
Definition at line 115 of file CaloCellGeometry.h.
Referenced by getPosition(), and operator=().