Skip to content

Commit 0f76b00

Browse files
author
Sunanda
committed
Improve the u,v to x,y conversion for partial wafers
1 parent 483ec27 commit 0f76b00

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

Geometry/HGCalCommonData/interface/HGCalDDDConstants.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,12 @@ class HGCalDDDConstants {
146146
std::vector<int> numberCells(int lay, bool reco) const;
147147
int numberCellsHexagon(int wafer) const;
148148
int numberCellsHexagon(int lay, int waferU, int waferV, bool flag) const;
149+
inline int partialWaferType(int lay, int waferU, int waferV) const {
150+
int indx = HGCalWaferIndex::waferIndex(lay, waferU, waferV);
151+
auto ktr = hgpar_->waferInfoMap_.find(indx);
152+
int part = (ktr != hgpar_->waferInfoMap_.end()) ? (ktr->second).part : HGCalTypes::WaferFull;
153+
return part;
154+
}
149155
std::pair<double, double> rangeR(double z, bool reco) const;
150156
std::pair<double, double> rangeRLayer(int lay, bool reco) const;
151157
std::pair<double, double> rangeZ(bool reco) const;

Geometry/HGCalCommonData/src/HGCalDDDConstants.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -867,7 +867,8 @@ std::pair<float, float> HGCalDDDConstants::locateCell(int zside,
867867
if (ktr != hgpar_->waferInfoMap_.end())
868868
place = HGCalCell::cellPlacementIndex(1, HGCalTypes::layerFrontBack(layertype), (ktr->second).orient);
869869
}
870-
auto xy = (waferHexagon8Fine() || cog) ? cellOffset_->cellOffsetUV2XY1(cellU, cellV, place, type)
870+
int part = partialWaferType(lay, waferU, waferV);
871+
auto xy = (waferHexagon8Fine() || cog) ? cellOffset_->cellOffsetUV2XY1(cellU, cellV, place, type, part)
871872
: hgcell_->cellUV2XY2(cellU, cellV, place, type);
872873
x = xy.first;
873874
y = xy.second;

0 commit comments

Comments
 (0)