23 int upper_estimate_cell_number = upper_estimate_wafer_number_2D * 3 * 12 * 12;
38 unsigned sumCellsLayer, sumCellsWaferUChunk;
46 for (
int iwaferU =
posmap_->
waferMin; iwaferU < posmap_->waferMax; ++iwaferU) {
47 sumCellsWaferUChunk = 0;
49 for (
int iwaferV =
posmap_->
waferMin; iwaferV < posmap_->waferMax; ++iwaferV) {
55 sumCellsLayer += nCellsHexTotal;
56 sumCellsWaferUChunk += nCellsHexTotal;
60 for (
int cellUmax = nCellsHexSide, icellV = 0; cellUmax < 2 * nCellsHexSide and icellV < nCellsHexSide;
61 ++cellUmax, ++icellV) {
62 for (
int icellU = 0; icellU <= cellUmax; ++icellU) {
68 for (
int cellUmin = 1, icellV = nCellsHexSide; cellUmin <= nCellsHexSide and icellV < 2 * nCellsHexSide;
69 ++cellUmin, ++icellV) {
70 for (
int icellU = cellUmin; icellU < 2 * nCellsHexSide; ++icellU) {
85 ddd_ = &(
geom->topology().dddConstants());
90 std::unique_ptr<HeterogeneousHGCalHEFCellPositionsConditions>
up =
91 std::make_unique<HeterogeneousHGCalHEFCellPositionsConditions>(
posmap_);
ESTransientHandle< ProductT > getTransientHandle(ESGetToken< ProductT, DepRecordT > const &iToken) const
double waferZ(int layer, bool reco) const
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
const HGCalParameters * params_
std::vector< std::int32_t > nCellsWaferUChunk
const HGCalParameters * getParameter() const
int lastLayer(bool reco) const
const HGCalDDDConstants * ddd_
std::vector< float > zLayer
std::vector< std::uint32_t > detid
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
hgcal_conditions::positions::HGCalPositionsMapping * posmap_
HeterogeneousHGCalHEFCellPositionsFiller(const edm::ParameterSet &)
int numberCellsHexagon(int wafer) const
constexpr uint32_t rawId() const
get the raw id
~HeterogeneousHGCalHEFCellPositionsFiller() override
int waferType(DetId const &id, bool fromFile) const
std::unique_ptr< HeterogeneousHGCalHEFCellPositionsConditions > produce(const HeterogeneousHGCalHEFCellPositionsConditionsRecord &)
std::vector< std::int32_t > nCellsHexagon
edm::ESGetToken< HGCalGeometry, IdealGeometryRecord > geometryToken_
std::vector< std::int32_t > nCellsLayer