14 firstHFQuadRing_(40) ,
15 m_hbCellVec ( topo.getHBSize() ) ,
16 m_heCellVec ( topo.getHESize() ) ,
17 m_hoCellVec ( topo.getHOSize() ) ,
18 m_hfCellVec ( topo.getHFSize() )
46 for (
unsigned int i = 0 ;
i != baseIds.size() ; ++
i ) {
47 const DetId id ( baseIds[
i] );
48 if (
id.det() == det &&
id.subdetId() == subdet ) {
56 LogDebug(
"HCalGeom") <<
"HcalDDDGeometry::getValidDetIds: "
57 <<
m_validIds.size() <<
" valid IDs found for detector "
58 << det <<
" Sub-detector " << subdet;
68 double abseta = fabs(r.
eta());
70 if (phi < 0) phi +=
twopi;
72 double z = fabs(r.
z());
74 LogDebug(
"HCalGeom") <<
"HcalDDDGeometry::getClosestCell for eta "
75 << r.
eta() <<
" phi " << phi/
deg <<
" z " << r.
z()
95 phibin = phibin*4 - 1;
104 int etabin = (r.
z() > 0) ? etaring : -etaring;
106 bestId =
HcalDetId(bc, etabin, phibin, dbin);
113 bestId =
HcalDetId(bc, etabin, phibin, dbin);
121 LogDebug(
"HCalGeom") <<
"HcalDDDGeometry::getClosestCell " << bestId;
131 for (
unsigned int i=0;
i<cells.size();
i++) {
135 LogDebug(
"HCalGeom") <<
"HcalDDDGeometry::insertCell " << cells.size()
136 <<
" cells inserted == Total " << num
211 const unsigned int index ( din
223 const unsigned int index ( din
232 return ( 0 == cell || 0 == cell->
param() ? 0 : cell ) ;
virtual unsigned int detId2denseId(const DetId &id) const
return a linear packed id
virtual const CaloCellGeometry * cellGeomPtr(uint32_t index) const
Geom::Phi< T > phi() const
virtual void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)
CaloCellGeometry::CCGFloat CCGFloat
virtual ~HcalDDDGeometry()
The HcalDDDGeometry will delete all its cell geometries at destruction time.
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)
const HcalTopology & topo_
const CCGFloat * param() const
int insertCell(std::vector< HcalCellType > const &)
HcalDDDGeometry(const HcalTopology &theTopo)
std::vector< HcalCellType > hcalCells_
CaloCellGeometry::CornersMgr * cornersMgr()
std::vector< DetId > m_validIds
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)
DetId::Detector lastReqDet_
virtual DetId getClosestCell(const GlobalPoint &r) const
Detector det() const
get the detector field from this detid