diff --git a/Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalEEV17-algorithm.xml b/Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalEEV17-algorithm.xml
new file mode 100644
index 0000000000000..8221935ede317
--- /dev/null
+++ b/Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalEEV17-algorithm.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalHEsilV17-algorithm.xml b/Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalHEsilV17-algorithm.xml
new file mode 100644
index 0000000000000..6efd5b5b0948e
--- /dev/null
+++ b/Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalHEsilV17-algorithm.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Geometry/HGCalCommonData/data/hgcalEE/v17/hgcalEE.xml b/Geometry/HGCalCommonData/data/hgcalEE/v17/hgcalEE.xml
index a0efc36f840b6..c682234f95046 100644
--- a/Geometry/HGCalCommonData/data/hgcalEE/v17/hgcalEE.xml
+++ b/Geometry/HGCalCommonData/data/hgcalEE/v17/hgcalEE.xml
@@ -7,6 +7,7 @@
+
@@ -2376,58 +2377,58 @@
6042, 6372, 6678, 7020, 7362, 7716
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm
diff --git a/Geometry/HGCalCommonData/data/hgcalHEsil/v17/hgcalHEsil.xml b/Geometry/HGCalCommonData/data/hgcalHEsil/v17/hgcalHEsil.xml
new file mode 100644
index 0000000000000..1fcca1fa6e58d
--- /dev/null
+++ b/Geometry/HGCalCommonData/data/hgcalHEsil/v17/hgcalHEsil.xml
@@ -0,0 +1,890 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+,
+ hgcalwafer:HGCalHEWafer06Fine, hgcalwafer:HGCalHEWafer07Fine,
+ hgcalwafer:HGCalHEWafer08Fine, hgcalwafer:HGCalHEWafer09Fine,
+ hgcalwafer:HGCalHEWafer10Fine, hgcalwafer:HGCalHEWafer11Fine,
+ hgcalwafer:HGCalHEWafer06Coarse1, hgcalwafer:HGCalHEWafer07Coarse1,
+ hgcalwafer:HGCalHEWafer08Coarse1, hgcalwafer:HGCalHEWafer09Coarse1,
+ hgcalwafer:HGCalHEWafer10Coarse1, hgcalwafer:HGCalHEWafer11Coarse1,
+ hgcalwafer:HGCalHEWafer06Coarse2, hgcalwafer:HGCalHEWafer07Coarse2,
+ hgcalwafer:HGCalHEWafer08Coarse2, hgcalwafer:HGCalHEWafer09Coarse2,
+ hgcalwafer:HGCalHEWafer10Coarse2, hgcalwafer:HGCalHEWafer11Coarse2
+
+ hgcalwafer:HGCalHEWafer06FineHD1, hgcalwafer:HGCalHEWafer07FineHD1,
+ hgcalwafer:HGCalHEWafer08FineHD1, hgcalwafer:HGCalHEWafer09FineHD1,
+ hgcalwafer:HGCalHEWafer10FineHD1, hgcalwafer:HGCalHEWafer11FineHD1,
+ hgcalwafer:HGCalHEWafer06FineHD2, hgcalwafer:HGCalHEWafer07FineHD2,
+ hgcalwafer:HGCalHEWafer08FineHD2, hgcalwafer:HGCalHEWafer09FineHD2,
+ hgcalwafer:HGCalHEWafer10FineHD2, hgcalwafer:HGCalHEWafer11FineHD2,
+ hgcalwafer:HGCalHEWafer06FineHD3, hgcalwafer:HGCalHEWafer07FineHD3,
+ hgcalwafer:HGCalHEWafer08FineHD3, hgcalwafer:HGCalHEWafer09FineHD3,
+ hgcalwafer:HGCalHEWafer10FineHD3, hgcalwafer:HGCalHEWafer11FineHD3,
+ hgcalwafer:HGCalHEWafer06FineHD4, hgcalwafer:HGCalHEWafer07FineHD4,
+ hgcalwafer:HGCalHEWafer08FineHD4, hgcalwafer:HGCalHEWafer09FineHD4,
+ hgcalwafer:HGCalHEWafer10FineHD4, hgcalwafer:HGCalHEWafer11FineHD4,
+ hgcalwafer:HGCalHEWafer06FineHD5, hgcalwafer:HGCalHEWafer07FineHD5,
+ hgcalwafer:HGCalHEWafer08FineHD5, hgcalwafer:HGCalHEWafer09FineHD5,
+ hgcalwafer:HGCalHEWafer10FineHD5, hgcalwafer:HGCalHEWafer11FineHD5,
+ hgcalwafer:HGCalHEWafer06Coarse1LD1, hgcalwafer:HGCalHEWafer07Coarse1LD1,
+ hgcalwafer:HGCalHEWafer08Coarse1LD1, hgcalwafer:HGCalHEWafer09Coarse1LD1,
+ hgcalwafer:HGCalHEWafer10Coarse1LD1, hgcalwafer:HGCalHEWafer11Coarse1LD1,
+ hgcalwafer:HGCalHEWafer06Coarse1LD2, hgcalwafer:HGCalHEWafer07Coarse1LD2,
+ hgcalwafer:HGCalHEWafer08Coarse1LD2, hgcalwafer:HGCalHEWafer09Coarse1LD2,
+ hgcalwafer:HGCalHEWafer10Coarse1LD2, hgcalwafer:HGCalHEWafer11Coarse1LD2,
+ hgcalwafer:HGCalHEWafer06Coarse1LD3, hgcalwafer:HGCalHEWafer07Coarse1LD3,
+ hgcalwafer:HGCalHEWafer08Coarse1LD3, hgcalwafer:HGCalHEWafer09Coarse1LD3,
+ hgcalwafer:HGCalHEWafer10Coarse1LD3, hgcalwafer:HGCalHEWafer11Coarse1LD3,
+ hgcalwafer:HGCalHEWafer06Coarse1LD4, hgcalwafer:HGCalHEWafer07Coarse1LD4,
+ hgcalwafer:HGCalHEWafer08Coarse1LD4, hgcalwafer:HGCalHEWafer09Coarse1LD4,
+ hgcalwafer:HGCalHEWafer10Coarse1LD4, hgcalwafer:HGCalHEWafer11Coarse1LD4,
+ hgcalwafer:HGCalHEWafer06Coarse1LD5, hgcalwafer:HGCalHEWafer07Coarse1LD5,
+ hgcalwafer:HGCalHEWafer08Coarse1LD5, hgcalwafer:HGCalHEWafer09Coarse1LD5,
+ hgcalwafer:HGCalHEWafer10Coarse1LD5, hgcalwafer:HGCalHEWafer11Coarse1LD5,
+ hgcalwafer:HGCalHEWafer06Coarse1LD6, hgcalwafer:HGCalHEWafer07Coarse1LD6,
+ hgcalwafer:HGCalHEWafer08Coarse1LD6, hgcalwafer:HGCalHEWafer09Coarse1LD6,
+ hgcalwafer:HGCalHEWafer10Coarse1LD6, hgcalwafer:HGCalHEWafer11Coarse1LD6,
+ hgcalwafer:HGCalHEWafer06Coarse2LD1, hgcalwafer:HGCalHEWafer07Coarse2LD1,
+ hgcalwafer:HGCalHEWafer08Coarse2LD1, hgcalwafer:HGCalHEWafer09Coarse2LD1,
+ hgcalwafer:HGCalHEWafer10Coarse2LD1, hgcalwafer:HGCalHEWafer11Coarse2LD1,
+ hgcalwafer:HGCalHEWafer06Coarse2LD2, hgcalwafer:HGCalHEWafer07Coarse2LD2,
+ hgcalwafer:HGCalHEWafer08Coarse2LD2, hgcalwafer:HGCalHEWafer09Coarse2LD2,
+ hgcalwafer:HGCalHEWafer10Coarse2LD2, hgcalwafer:HGCalHEWafer11Coarse2LD2,
+ hgcalwafer:HGCalHEWafer06Coarse2LD3, hgcalwafer:HGCalHEWafer07Coarse2LD3,
+ hgcalwafer:HGCalHEWafer08Coarse2LD3, hgcalwafer:HGCalHEWafer09Coarse2LD3,
+ hgcalwafer:HGCalHEWafer10Coarse2LD3, hgcalwafer:HGCalHEWafer11Coarse2LD3,
+ hgcalwafer:HGCalHEWafer06Coarse2LD4, hgcalwafer:HGCalHEWafer07Coarse2LD4,
+ hgcalwafer:HGCalHEWafer08Coarse2LD4, hgcalwafer:HGCalHEWafer09Coarse2LD4,
+ hgcalwafer:HGCalHEWafer10Coarse2LD4, hgcalwafer:HGCalHEWafer11Coarse2LD4,
+ hgcalwafer:HGCalHEWafer06Coarse2LD5, hgcalwafer:HGCalHEWafer07Coarse2LD5,
+ hgcalwafer:HGCalHEWafer08Coarse2LD5, hgcalwafer:HGCalHEWafer09Coarse2LD5,
+ hgcalwafer:HGCalHEWafer10Coarse2LD5, hgcalwafer:HGCalHEWafer11Coarse2LD5,
+ hgcalwafer:HGCalHEWafer06Coarse2LD6, hgcalwafer:HGCalHEWafer07Coarse2LD6,
+ hgcalwafer:HGCalHEWafer08Coarse2LD6, hgcalwafer:HGCalHEWafer09Coarse2LD6,
+ hgcalwafer:HGCalHEWafer10Coarse2LD6, hgcalwafer:HGCalHEWafer11Coarse2LD6
+
+ materials:StainlessSteel, materials:StainlessSteel, materials:Air,
+ materials:Air, materials:StainlessSteel, materials:Copper,
+ materials:Air
+
+ HGCalHEAbsorber1, HGCalHEAbsorber2, HGCalHEAirGap0, HGCalHEAirGap1,
+ HGCalHESteelCover, HGCalHECoolingPlate, HGCalHESiliconLayer
+
+ 45.0*mm, 41.5*mm, 1.25*mm, 4.00*mm, 2.50*mm, 6.35*mm,
+ [hgcal:ModuleThicknessHE]
+
+ 6, 5, 5, 5, 5, 5, 5
+
+ 67.80*mm, 63.05*mm, 63.05*mm, 63.05*mm, 63.05*mm, 63.05*mm, 63.05*mm
+
+
+ 2, 0, 3, 4, 6, 5,
+ 1, 3, 4, 6, 5,
+ 1, 3, 4, 6, 5,
+ 1, 3, 4, 6, 5,
+ 1, 3, 4, 6, 5,
+ 1, 3, 4, 6, 5,
+ 1, 3, 4, 6, 5
+
+ 0, -1, 0, -2, 1, -2,
+ -1, 0, -2, 1, -2,
+ -1, 0, -2, 1, -2,
+ -1, 0, -2, 1, -2,
+ -1, 0, -2, 1, -2,
+ -1, 0, -2, 1, -2,
+ -1, 0, -2, 1, -2
+
+ 0, 0, 0, 0
+
+ [hgcal:zHGCal0], [hgcal:zHGCal2], [hgcal:zHGCal7],
+ [hgcal:zHGCal8]
+
+ [hgcal:rMinHGCal2], [hgcal:rMinHGCal4],
+ [hgcal:rMinHGCal6], [hgcal:rMinHGCal8]
+
+ [hgcal:slope1], [hgcal:slope3], 0, 0
+
+ [hgcal:zHGCal1], [hgcal:zHGCal5], [hgcal:zHGCal10],
+ [hgcal:zHGCal11]
+
+ [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal5], [hgcal:rMaxHGCal10],
+ [hgcal:rMaxHGCal11]
+
+ 0, 4, 0, 4, 0, 4, 0
+
+
+ 262146, 262147, 262148, 262149, 262150, 262151, 262152,
+ 262153, 262178, 262179, 262180, 262181, 262182, 262183,
+ 262184, 262185, 262211, 262212, 262213, 262214, 262215,
+ 262216, 262217, 262218, 262242, 262243, 262244, 262245,
+ 262246, 262247, 262248, 262249, 262272, 262274, 262275,
+ 262276, 262277, 262278, 262279, 262280, 262281, 262282,
+ 262305, 262306, 262307, 262308, 262309, 262310, 262311,
+ 262312, 262336, 262337, 262338, 262339, 262340, 262341,
+ 262342, 262343, 262344, 262345, 262346, 262347, 262369,
+ 262370, 262371, 262372, 262373, 262374, 262375, 262376,
+ 262400, 262401, 262402, 262403, 262404, 262405, 262406,
+ 262407, 262408, 262409, 262410, 262411, 262433, 262434,
+ 262435, 262436, 262437, 262438, 262439, 262464, 262465,
+ 262466, 262467, 262468, 262469, 262470, 262471, 262472,
+ 262473, 262474, 262475, 262497, 262498, 262499, 262500,
+ 262501, 262502, 262528, 262529, 262530, 262531, 262532,
+ 262533, 262534, 262535, 262536, 262537, 262538, 262539,
+ 262561, 262562, 262563, 262564, 262565, 262592, 262593,
+ 262594, 262595, 262596, 262597, 262598, 262599, 262600,
+ 262601, 262602, 262603, 262625, 262626, 262627, 262628,
+ 262656, 262657, 262658, 262659, 262660, 262661, 262662,
+ 262663, 262664, 262665, 262666, 262667, 262689, 262690,
+ 262691, 262720, 262721, 262722, 262723, 262724, 262725,
+ 262726, 262727, 262728, 262729, 262730, 262753, 262785,
+ 262786, 262787, 262788, 262789, 262790, 262791, 262792,
+ 262793, 262851, 262852, 262853, 262854, 262855, 262856,
+ 264258, 264259, 264260, 264261, 264262, 264263, 264264,
+ 264265, 264291, 264292, 264293, 264294, 264295, 264296,
+ 264297, 264298, 264320, 264321, 264322, 264323, 264324,
+ 264325, 264326, 264327, 264328, 264354, 264355, 264356,
+ 264357, 264358, 264359, 264360, 264361, 264362, 264384,
+ 264385, 264386, 264387, 264388, 264389, 264390, 264391,
+ 264392, 264417, 264418, 264419, 264420, 264421, 264422,
+ 264423, 264424, 264425, 264426, 264427, 264448, 264449,
+ 264450, 264451, 264452, 264453, 264454, 264455, 264481,
+ 264482, 264483, 264484, 264485, 264486, 264487, 264488,
+ 264489, 264490, 264491, 264512, 264513, 264514, 264515,
+ 264516, 264517, 264518, 264545, 264546, 264547, 264548,
+ 264549, 264550, 264551, 264552, 264553, 264554, 264555,
+ 264576, 264577, 264578, 264579, 264580, 264581, 264609,
+ 264610, 264611, 264612, 264613, 264614, 264615, 264616,
+ 264617, 264618, 264619, 264640, 264641, 264642, 264643,
+ 264644, 264673, 264674, 264675, 264676, 264677, 264678,
+ 264679, 264680, 264681, 264682, 264683, 264704, 264705,
+ 264706, 264707, 264737, 264738, 264739, 264740, 264741,
+ 264742, 264743, 264744, 264745, 264746, 264747, 264768,
+ 264769, 264801, 264802, 264803, 264804, 264805, 264806,
+ 264807, 264808, 264809, 264810, 264865, 264866, 264867,
+ 264868, 264869, 264870, 264871, 264872, 264873, 264931,
+ 264932, 264933, 264934, 264935, 264936, 524290, 524291,
+ 524292, 524293, 524294, 524295, 524296, 524297, 524322,
+ 524323, 524324, 524325, 524326, 524327, 524328, 524329,
+ 524355, 524356, 524357, 524358, 524359, 524360, 524361,
+ 524362, 524386, 524387, 524388, 524389, 524390, 524391,
+ 524392, 524393, 524416, 524418, 524419, 524420, 524421,
+ 524422, 524423, 524424, 524425, 524426, 524449, 524450,
+ 524451, 524452, 524453, 524454, 524455, 524456, 524480,
+ 524481, 524482, 524483, 524484, 524485, 524486, 524487,
+ 524488, 524489, 524490, 524491, 524513, 524514, 524515,
+ 524516, 524517, 524518, 524519, 524520, 524544, 524545,
+ 524546, 524547, 524548, 524549, 524550, 524551, 524552,
+ 524553, 524554, 524555, 524577, 524578, 524579, 524580,
+ 524581, 524582, 524583, 524608, 524609, 524610, 524611,
+ 524612, 524613, 524614, 524615, 524616, 524617, 524618,
+ 524619, 524641, 524642, 524643, 524644, 524645, 524646,
+ 524672, 524673, 524674, 524675, 524676, 524677, 524678,
+ 524679, 524680, 524681, 524682, 524683, 524705, 524706,
+ 524707, 524708, 524709, 524736, 524737, 524738, 524739,
+ 524740, 524741, 524742, 524743, 524744, 524745, 524746,
+ 524747, 524769, 524770, 524771, 524772, 524800, 524801,
+ 524802, 524803, 524804, 524805, 524806, 524807, 524808,
+ 524809, 524810, 524811, 524833, 524834, 524835, 524864,
+ 524865, 524866, 524867, 524868, 524869, 524870, 524871,
+ 524872, 524873, 524874, 524897, 524929, 524930, 524931,
+ 524932, 524933, 524934, 524935, 524936, 524937, 524995,
+ 524996, 524997, 524998, 524999, 525000, 526402, 526403,
+ 526404, 526405, 526406, 526407, 526408, 526409, 526435,
+ 526436, 526437, 526438, 526439, 526440, 526441, 526442,
+ 526464, 526465, 526466, 526467, 526468, 526469, 526470,
+ 526471, 526472, 526498, 526499, 526500, 526501, 526502,
+ 526503, 526504, 526505, 526506, 526528, 526529, 526530,
+ 526531, 526532, 526533, 526534, 526535, 526536, 526561,
+ 526562, 526563, 526564, 526565, 526566, 526567, 526568,
+ 526569, 526570, 526571, 526592, 526593, 526594, 526595,
+ 526596, 526597, 526598, 526599, 526625, 526626, 526627,
+ 526628, 526629, 526630, 526631, 526632, 526633, 526634,
+ 526635, 526656, 526657, 526658, 526659, 526660, 526661,
+ 526662, 526689, 526690, 526691, 526692, 526693, 526694,
+ 526695, 526696, 526697, 526698, 526699, 526720, 526721,
+ 526722, 526723, 526724, 526725, 526753, 526754, 526755,
+ 526756, 526757, 526758, 526759, 526760, 526761, 526762,
+ 526763, 526784, 526785, 526786, 526787, 526788, 526817,
+ 526818, 526819, 526820, 526821, 526822, 526823, 526824,
+ 526825, 526826, 526827, 526848, 526849, 526850, 526851,
+ 526881, 526882, 526883, 526884, 526885, 526886, 526887,
+ 526888, 526889, 526890, 526891, 526912, 526913, 526945,
+ 526946, 526947, 526948, 526949, 526950, 526951, 526952,
+ 526953, 526954, 527009, 527010, 527011, 527012, 527013,
+ 527014, 527015, 527016, 527017, 527075, 527076, 527077,
+ 527078, 527079, 527080, 786434, 786435, 786436, 786437,
+ 786438, 786439, 786440, 786441, 786466, 786467, 786468,
+ 786469, 786470, 786471, 786472, 786473, 786499, 786500,
+ 786501, 786502, 786503, 786504, 786505, 786506, 786530,
+ 786531, 786532, 786533, 786534, 786535, 786536, 786537,
+ 786560, 786562, 786563, 786564, 786565, 786566, 786567,
+ 786568, 786569, 786570, 786571, 786593, 786594, 786595,
+ 786596, 786597, 786598, 786599, 786600, 786601, 786624,
+ 786625, 786626, 786627, 786628, 786629, 786630, 786631,
+ 786632, 786633, 786634, 786635, 786657, 786658, 786659,
+ 786660, 786661, 786662, 786663, 786664, 786688, 786689,
+ 786690, 786691, 786692, 786693, 786694, 786695, 786696,
+ 786697, 786698, 786699, 786721, 786722, 786723, 786724,
+ 786725, 786726, 786727, 786752, 786753, 786754, 786755,
+ 786756, 786757, 786758, 786759, 786760, 786761, 786762,
+ 786763, 786785, 786786, 786787, 786788, 786789, 786790,
+ 786816, 786817, 786818, 786819, 786820, 786821, 786822,
+ 786823, 786824, 786825, 786826, 786827, 786849, 786850,
+ 786851, 786852, 786853, 786880, 786881, 786882, 786883,
+ 786884, 786885, 786886, 786887, 786888, 786889, 786890,
+ 786891, 786913, 786914, 786915, 786916, 786944, 786945,
+ 786946, 786947, 786948, 786949, 786950, 786951, 786952,
+ 786953, 786954, 786955, 786977, 786978, 786979, 787008,
+ 787009, 787010, 787011, 787012, 787013, 787014, 787015,
+ 787016, 787017, 787018, 787019, 787041, 787042, 787073,
+ 787074, 787075, 787076, 787077, 787078, 787079, 787080,
+ 787081, 787138, 787139, 787140, 787141, 787142, 787143,
+ 787144, 787145, 788546, 788547, 788548, 788549, 788550,
+ 788551, 788552, 788553, 788579, 788580, 788581, 788582,
+ 788583, 788584, 788585, 788586, 788608, 788609, 788610,
+ 788611, 788612, 788613, 788614, 788615, 788616, 788617,
+ 788642, 788643, 788644, 788645, 788646, 788647, 788648,
+ 788649, 788650, 788651, 788672, 788673, 788674, 788675,
+ 788676, 788677, 788678, 788679, 788680, 788705, 788706,
+ 788707, 788708, 788709, 788710, 788711, 788712, 788713,
+ 788714, 788715, 788736, 788737, 788738, 788739, 788740,
+ 788741, 788742, 788743, 788769, 788770, 788771, 788772,
+ 788773, 788774, 788775, 788776, 788777, 788778, 788779,
+ 788800, 788801, 788802, 788803, 788804, 788805, 788806,
+ 788833, 788834, 788835, 788836, 788837, 788838, 788839,
+ 788840, 788841, 788842, 788843, 788864, 788865, 788866,
+ 788867, 788868, 788869, 788897, 788898, 788899, 788900,
+ 788901, 788902, 788903, 788904, 788905, 788906, 788907,
+ 788928, 788929, 788930, 788931, 788932, 788961, 788962,
+ 788963, 788964, 788965, 788966, 788967, 788968, 788969,
+ 788970, 788971, 788992, 788993, 788994, 788995, 789025,
+ 789026, 789027, 789028, 789029, 789030, 789031, 789032,
+ 789033, 789034, 789035, 789056, 789057, 789058, 789089,
+ 789090, 789091, 789092, 789093, 789094, 789095, 789096,
+ 789097, 789098, 789099, 789153, 789154, 789155, 789156,
+ 789157, 789158, 789159, 789160, 789161, 789218, 789219,
+ 789220, 789221, 789222, 789223, 789224, 789225, 1048578,
+ 1048579, 1048580, 1048581, 1048582, 1048583, 1048584, 1048585,
+ 1048610, 1048611, 1048612, 1048613, 1048614, 1048615, 1048616,
+ 1048617, 1048643, 1048644, 1048645, 1048646, 1048647, 1048648,
+ 1048649, 1048650, 1048674, 1048675, 1048676, 1048677, 1048678,
+ 1048679, 1048680, 1048681, 1048704, 1048706, 1048707, 1048708,
+ 1048709, 1048710, 1048711, 1048712, 1048713, 1048714, 1048715,
+ 1048737, 1048738, 1048739, 1048740, 1048741, 1048742, 1048743,
+ 1048744, 1048745, 1048768, 1048769, 1048770, 1048771, 1048772,
+ 1048773, 1048774, 1048775, 1048776, 1048777, 1048778, 1048779,
+ 1048801, 1048802, 1048803, 1048804, 1048805, 1048806, 1048807,
+ 1048808, 1048832, 1048833, 1048834, 1048835, 1048836, 1048837,
+ 1048838, 1048839, 1048840, 1048841, 1048842, 1048843, 1048865,
+ 1048866, 1048867, 1048868, 1048869, 1048870, 1048871, 1048896,
+ 1048897, 1048898, 1048899, 1048900, 1048901, 1048902, 1048903,
+ 1048904, 1048905, 1048906, 1048907, 1048908, 1048929, 1048930,
+ 1048931, 1048932, 1048933, 1048934, 1048935, 1048960, 1048961,
+ 1048962, 1048963, 1048964, 1048965, 1048966, 1048967, 1048968,
+ 1048969, 1048970, 1048971, 1048993, 1048994, 1048995, 1048996,
+ 1048997, 1049024, 1049025, 1049026, 1049027, 1049028, 1049029,
+ 1049030, 1049031, 1049032, 1049033, 1049034, 1049035, 1049036,
+ 1049057, 1049058, 1049059, 1049060, 1049061, 1049088, 1049089,
+ 1049090, 1049091, 1049092, 1049093, 1049094, 1049095, 1049096,
+ 1049097, 1049098, 1049099, 1049121, 1049122, 1049123, 1049152,
+ 1049153, 1049154, 1049155, 1049156, 1049157, 1049158, 1049159,
+ 1049160, 1049161, 1049162, 1049163, 1049185, 1049186, 1049217,
+ 1049218, 1049219, 1049220, 1049221, 1049222, 1049223, 1049224,
+ 1049225, 1049282, 1049283, 1049284, 1049285, 1049286, 1049287,
+ 1049288, 1049289, 1049349, 1049351, 1050690, 1050691, 1050692,
+ 1050693, 1050694, 1050695, 1050696, 1050697, 1050723, 1050724,
+ 1050725, 1050726, 1050727, 1050728, 1050729, 1050730, 1050752,
+ 1050753, 1050754, 1050755, 1050756, 1050757, 1050758, 1050759,
+ 1050760, 1050761, 1050786, 1050787, 1050788, 1050789, 1050790,
+ 1050791, 1050792, 1050793, 1050794, 1050795, 1050816, 1050817,
+ 1050818, 1050819, 1050820, 1050821, 1050822, 1050823, 1050824,
+ 1050849, 1050850, 1050851, 1050852, 1050853, 1050854, 1050855,
+ 1050856, 1050857, 1050858, 1050859, 1050880, 1050881, 1050882,
+ 1050883, 1050884, 1050885, 1050886, 1050887, 1050913, 1050914,
+ 1050915, 1050916, 1050917, 1050918, 1050919, 1050920, 1050921,
+ 1050922, 1050923, 1050944, 1050945, 1050946, 1050947, 1050948,
+ 1050949, 1050950, 1050951, 1050977, 1050978, 1050979, 1050980,
+ 1050981, 1050982, 1050983, 1050984, 1050985, 1050986, 1050987,
+ 1050988, 1051008, 1051009, 1051010, 1051011, 1051012, 1051013,
+ 1051041, 1051042, 1051043, 1051044, 1051045, 1051046, 1051047,
+ 1051048, 1051049, 1051050, 1051051, 1051072, 1051073, 1051074,
+ 1051075, 1051076, 1051077, 1051105, 1051106, 1051107, 1051108,
+ 1051109, 1051110, 1051111, 1051112, 1051113, 1051114, 1051115,
+ 1051116, 1051136, 1051137, 1051138, 1051139, 1051169, 1051170,
+ 1051171, 1051172, 1051173, 1051174, 1051175, 1051176, 1051177,
+ 1051178, 1051179, 1051200, 1051201, 1051202, 1051233, 1051234,
+ 1051235, 1051236, 1051237, 1051238, 1051239, 1051240, 1051241,
+ 1051242, 1051243, 1051297, 1051298, 1051299, 1051300, 1051301,
+ 1051302, 1051303, 1051304, 1051305, 1051362, 1051363, 1051364,
+ 1051365, 1051366, 1051367, 1051368, 1051369, 1051429, 1051431,
+ 1310722, 1310723, 1310724, 1310725, 1310726, 1310727, 1310728,
+ 1310729, 1310754, 1310755, 1310756, 1310757, 1310758, 1310759,
+ 1310760, 1310761, 1310787, 1310788, 1310789, 1310790, 1310791,
+ 1310792, 1310793, 1310794, 1310818, 1310819, 1310820, 1310821,
+ 1310822, 1310823, 1310824, 1310825, 1310848, 1310850, 1310851,
+ 1310852, 1310853, 1310854, 1310855, 1310856, 1310857, 1310858,
+ 1310859, 1310881, 1310882, 1310883, 1310884, 1310885, 1310886,
+ 1310887, 1310888, 1310889, 1310912, 1310913, 1310914, 1310915,
+ 1310916, 1310917, 1310918, 1310919, 1310920, 1310921, 1310922,
+ 1310923, 1310945, 1310946, 1310947, 1310948, 1310949, 1310950,
+ 1310951, 1310952, 1310976, 1310977, 1310978, 1310979, 1310980,
+ 1310981, 1310982, 1310983, 1310984, 1310985, 1310986, 1310987,
+ 1310988, 1311009, 1311010, 1311011, 1311012, 1311013, 1311014,
+ 1311015, 1311016, 1311040, 1311041, 1311042, 1311043, 1311044,
+ 1311045, 1311046, 1311047, 1311048, 1311049, 1311050, 1311051,
+ 1311052, 1311073, 1311074, 1311075, 1311076, 1311077, 1311078,
+ 1311079, 1311104, 1311105, 1311106, 1311107, 1311108, 1311109,
+ 1311110, 1311111, 1311112, 1311113, 1311114, 1311115, 1311137,
+ 1311138, 1311139, 1311140, 1311141, 1311168, 1311169, 1311170,
+ 1311171, 1311172, 1311173, 1311174, 1311175, 1311176, 1311177,
+ 1311178, 1311179, 1311180, 1311201, 1311202, 1311203, 1311204,
+ 1311205, 1311232, 1311233, 1311234, 1311235, 1311236, 1311237,
+ 1311238, 1311239, 1311240, 1311241, 1311242, 1311243, 1311244,
+ 1311265, 1311266, 1311267, 1311268, 1311296, 1311297, 1311298,
+ 1311299, 1311300, 1311301, 1311302, 1311303, 1311304, 1311305,
+ 1311306, 1311307, 1311329, 1311330, 1311361, 1311362, 1311363,
+ 1311364, 1311365, 1311366, 1311367, 1311368, 1311369, 1311426,
+ 1311427, 1311428, 1311429, 1311430, 1311431, 1311432, 1311433,
+ 1311492, 1311493, 1311495, 1311496, 1312834, 1312835, 1312836,
+ 1312837, 1312838, 1312839, 1312840, 1312841, 1312867, 1312868,
+ 1312869, 1312870, 1312871, 1312872, 1312873, 1312874, 1312896,
+ 1312897, 1312898, 1312899, 1312900, 1312901, 1312902, 1312903,
+ 1312904, 1312905, 1312930, 1312931, 1312932, 1312933, 1312934,
+ 1312935, 1312936, 1312937, 1312938, 1312939, 1312960, 1312961,
+ 1312962, 1312963, 1312964, 1312965, 1312966, 1312967, 1312968,
+ 1312993, 1312994, 1312995, 1312996, 1312997, 1312998, 1312999,
+ 1313000, 1313001, 1313002, 1313003, 1313024, 1313025, 1313026,
+ 1313027, 1313028, 1313029, 1313030, 1313031, 1313032, 1313057,
+ 1313058, 1313059, 1313060, 1313061, 1313062, 1313063, 1313064,
+ 1313065, 1313066, 1313067, 1313068, 1313088, 1313089, 1313090,
+ 1313091, 1313092, 1313093, 1313094, 1313095, 1313121, 1313122,
+ 1313123, 1313124, 1313125, 1313126, 1313127, 1313128, 1313129,
+ 1313130, 1313131, 1313132, 1313152, 1313153, 1313154, 1313155,
+ 1313156, 1313157, 1313185, 1313186, 1313187, 1313188, 1313189,
+ 1313190, 1313191, 1313192, 1313193, 1313194, 1313195, 1313216,
+ 1313217, 1313218, 1313219, 1313220, 1313221, 1313249, 1313250,
+ 1313251, 1313252, 1313253, 1313254, 1313255, 1313256, 1313257,
+ 1313258, 1313259, 1313260, 1313280, 1313281, 1313282, 1313283,
+ 1313284, 1313313, 1313314, 1313315, 1313316, 1313317, 1313318,
+ 1313319, 1313320, 1313321, 1313322, 1313323, 1313324, 1313344,
+ 1313345, 1313346, 1313377, 1313378, 1313379, 1313380, 1313381,
+ 1313382, 1313383, 1313384, 1313385, 1313386, 1313387, 1313441,
+ 1313442, 1313443, 1313444, 1313445, 1313446, 1313447, 1313448,
+ 1313449, 1313506, 1313507, 1313508, 1313509, 1313510, 1313511,
+ 1313512, 1313513, 1313572, 1313573, 1313575, 1313576, 1572866,
+ 1572867, 1572868, 1572869, 1572870, 1572871, 1572872, 1572873,
+ 1572874, 1572898, 1572899, 1572900, 1572901, 1572902, 1572903,
+ 1572904, 1572905, 1572906, 1572931, 1572932, 1572933, 1572934,
+ 1572935, 1572936, 1572937, 1572938, 1572939, 1572962, 1572963,
+ 1572964, 1572965, 1572966, 1572967, 1572968, 1572969, 1572970,
+ 1572992, 1572994, 1572995, 1572996, 1572997, 1572998, 1572999,
+ 1573000, 1573001, 1573002, 1573003, 1573025, 1573026, 1573027,
+ 1573028, 1573029, 1573030, 1573031, 1573032, 1573033, 1573056,
+ 1573057, 1573058, 1573059, 1573060, 1573061, 1573062, 1573063,
+ 1573064, 1573065, 1573066, 1573067, 1573068, 1573089, 1573090,
+ 1573091, 1573092, 1573093, 1573094, 1573095, 1573096, 1573097,
+ 1573120, 1573121, 1573122, 1573123, 1573124, 1573125, 1573126,
+ 1573127, 1573128, 1573129, 1573130, 1573131, 1573132, 1573153,
+ 1573154, 1573155, 1573156, 1573157, 1573158, 1573159, 1573160,
+ 1573184, 1573185, 1573186, 1573187, 1573188, 1573189, 1573190,
+ 1573191, 1573192, 1573193, 1573194, 1573195, 1573196, 1573217,
+ 1573218, 1573219, 1573220, 1573221, 1573222, 1573223, 1573248,
+ 1573249, 1573250, 1573251, 1573252, 1573253, 1573254, 1573255,
+ 1573256, 1573257, 1573258, 1573259, 1573260, 1573281, 1573282,
+ 1573283, 1573284, 1573285, 1573286, 1573312, 1573313, 1573314,
+ 1573315, 1573316, 1573317, 1573318, 1573319, 1573320, 1573321,
+ 1573322, 1573323, 1573324, 1573345, 1573346, 1573347, 1573348,
+ 1573349, 1573376, 1573377, 1573378, 1573379, 1573380, 1573381,
+ 1573382, 1573383, 1573384, 1573385, 1573386, 1573387, 1573388,
+ 1573409, 1573410, 1573411, 1573412, 1573440, 1573441, 1573442,
+ 1573443, 1573444, 1573445, 1573446, 1573447, 1573448, 1573449,
+ 1573450, 1573451, 1573452, 1573473, 1573474, 1573475, 1573504,
+ 1573505, 1573506, 1573507, 1573508, 1573509, 1573510, 1573511,
+ 1573512, 1573513, 1573514, 1573515, 1573537, 1573569, 1573570,
+ 1573571, 1573572, 1573573, 1573574, 1573575, 1573576, 1573577,
+ 1573578, 1573635, 1573636, 1573637, 1573638, 1573639, 1573640,
+ 1573641, 1574978, 1574979, 1574980, 1574981, 1574982, 1574983,
+ 1574984, 1574985, 1574986, 1575011, 1575012, 1575013, 1575014,
+ 1575015, 1575016, 1575017, 1575018, 1575019, 1575040, 1575041,
+ 1575042, 1575043, 1575044, 1575045, 1575046, 1575047, 1575048,
+ 1575049, 1575074, 1575075, 1575076, 1575077, 1575078, 1575079,
+ 1575080, 1575081, 1575082, 1575083, 1575104, 1575105, 1575106,
+ 1575107, 1575108, 1575109, 1575110, 1575111, 1575112, 1575113,
+ 1575137, 1575138, 1575139, 1575140, 1575141, 1575142, 1575143,
+ 1575144, 1575145, 1575146, 1575147, 1575148, 1575168, 1575169,
+ 1575170, 1575171, 1575172, 1575173, 1575174, 1575175, 1575176,
+ 1575201, 1575202, 1575203, 1575204, 1575205, 1575206, 1575207,
+ 1575208, 1575209, 1575210, 1575211, 1575212, 1575232, 1575233,
+ 1575234, 1575235, 1575236, 1575237, 1575238, 1575239, 1575265,
+ 1575266, 1575267, 1575268, 1575269, 1575270, 1575271, 1575272,
+ 1575273, 1575274, 1575275, 1575276, 1575296, 1575297, 1575298,
+ 1575299, 1575300, 1575301, 1575302, 1575329, 1575330, 1575331,
+ 1575332, 1575333, 1575334, 1575335, 1575336, 1575337, 1575338,
+ 1575339, 1575340, 1575360, 1575361, 1575362, 1575363, 1575364,
+ 1575365, 1575393, 1575394, 1575395, 1575396, 1575397, 1575398,
+ 1575399, 1575400, 1575401, 1575402, 1575403, 1575404, 1575424,
+ 1575425, 1575426, 1575427, 1575428, 1575457, 1575458, 1575459,
+ 1575460, 1575461, 1575462, 1575463, 1575464, 1575465, 1575466,
+ 1575467, 1575468, 1575488, 1575489, 1575490, 1575491, 1575521,
+ 1575522, 1575523, 1575524, 1575525, 1575526, 1575527, 1575528,
+ 1575529, 1575530, 1575531, 1575532, 1575552, 1575553, 1575585,
+ 1575586, 1575587, 1575588, 1575589, 1575590, 1575591, 1575592,
+ 1575593, 1575594, 1575595, 1575649, 1575650, 1575651, 1575652,
+ 1575653, 1575654, 1575655, 1575656, 1575657, 1575658, 1575715,
+ 1575716, 1575717, 1575718, 1575719, 1575720, 1575721, 1835010,
+ 1835011, 1835012, 1835013, 1835014, 1835015, 1835016, 1835017,
+ 1835018, 1835042, 1835043, 1835044, 1835045, 1835046, 1835047,
+ 1835048, 1835049, 1835050, 1835075, 1835076, 1835077, 1835078,
+ 1835079, 1835080, 1835081, 1835082, 1835083, 1835106, 1835107,
+ 1835108, 1835109, 1835110, 1835111, 1835112, 1835113, 1835114,
+ 1835136, 1835138, 1835139, 1835140, 1835141, 1835142, 1835143,
+ 1835144, 1835145, 1835146, 1835147, 1835148, 1835169, 1835170,
+ 1835171, 1835172, 1835173, 1835174, 1835175, 1835176, 1835177,
+ 1835178, 1835200, 1835201, 1835202, 1835203, 1835204, 1835205,
+ 1835206, 1835207, 1835208, 1835209, 1835210, 1835211, 1835212,
+ 1835233, 1835234, 1835235, 1835236, 1835237, 1835238, 1835239,
+ 1835240, 1835241, 1835264, 1835265, 1835266, 1835267, 1835268,
+ 1835269, 1835270, 1835271, 1835272, 1835273, 1835274, 1835275,
+ 1835276, 1835297, 1835298, 1835299, 1835300, 1835301, 1835302,
+ 1835303, 1835304, 1835328, 1835329, 1835330, 1835331, 1835332,
+ 1835333, 1835334, 1835335, 1835336, 1835337, 1835338, 1835339,
+ 1835340, 1835341, 1835361, 1835362, 1835363, 1835364, 1835365,
+ 1835366, 1835367, 1835368, 1835392, 1835393, 1835394, 1835395,
+ 1835396, 1835397, 1835398, 1835399, 1835400, 1835401, 1835402,
+ 1835403, 1835404, 1835425, 1835426, 1835427, 1835428, 1835429,
+ 1835430, 1835456, 1835457, 1835458, 1835459, 1835460, 1835461,
+ 1835462, 1835463, 1835464, 1835465, 1835466, 1835467, 1835468,
+ 1835489, 1835490, 1835491, 1835492, 1835493, 1835520, 1835521,
+ 1835522, 1835523, 1835524, 1835525, 1835526, 1835527, 1835528,
+ 1835529, 1835530, 1835531, 1835532, 1835533, 1835553, 1835554,
+ 1835555, 1835556, 1835557, 1835584, 1835585, 1835586, 1835587,
+ 1835588, 1835589, 1835590, 1835591, 1835592, 1835593, 1835594,
+ 1835595, 1835596, 1835617, 1835618, 1835619, 1835648, 1835649,
+ 1835650, 1835651, 1835652, 1835653, 1835654, 1835655, 1835656,
+ 1835657, 1835658, 1835659, 1835660, 1835681, 1835682, 1835713,
+ 1835714, 1835715, 1835716, 1835717, 1835718, 1835719, 1835720,
+ 1835721, 1835722, 1835778, 1835779, 1835780, 1835781, 1835782,
+ 1835783, 1835784, 1835785, 1835786, 1835845, 1835848, 1837122,
+ 1837123, 1837124, 1837125, 1837126, 1837127, 1837128, 1837129,
+ 1837130, 1837155, 1837156, 1837157, 1837158, 1837159, 1837160,
+ 1837161, 1837162, 1837163, 1837184, 1837185, 1837186, 1837187,
+ 1837188, 1837189, 1837190, 1837191, 1837192, 1837193, 1837194,
+ 1837218, 1837219, 1837220, 1837221, 1837222, 1837223, 1837224,
+ 1837225, 1837226, 1837227, 1837228, 1837248, 1837249, 1837250,
+ 1837251, 1837252, 1837253, 1837254, 1837255, 1837256, 1837257,
+ 1837281, 1837282, 1837283, 1837284, 1837285, 1837286, 1837287,
+ 1837288, 1837289, 1837290, 1837291, 1837292, 1837312, 1837313,
+ 1837314, 1837315, 1837316, 1837317, 1837318, 1837319, 1837320,
+ 1837345, 1837346, 1837347, 1837348, 1837349, 1837350, 1837351,
+ 1837352, 1837353, 1837354, 1837355, 1837356, 1837376, 1837377,
+ 1837378, 1837379, 1837380, 1837381, 1837382, 1837383, 1837384,
+ 1837409, 1837410, 1837411, 1837412, 1837413, 1837414, 1837415,
+ 1837416, 1837417, 1837418, 1837419, 1837420, 1837421, 1837440,
+ 1837441, 1837442, 1837443, 1837444, 1837445, 1837446, 1837473,
+ 1837474, 1837475, 1837476, 1837477, 1837478, 1837479, 1837480,
+ 1837481, 1837482, 1837483, 1837484, 1837504, 1837505, 1837506,
+ 1837507, 1837508, 1837509, 1837537, 1837538, 1837539, 1837540,
+ 1837541, 1837542, 1837543, 1837544, 1837545, 1837546, 1837547,
+ 1837548, 1837568, 1837569, 1837570, 1837571, 1837572, 1837573,
+ 1837601, 1837602, 1837603, 1837604, 1837605, 1837606, 1837607,
+ 1837608, 1837609, 1837610, 1837611, 1837612, 1837613, 1837632,
+ 1837633, 1837634, 1837635, 1837665, 1837666, 1837667, 1837668,
+ 1837669, 1837670, 1837671, 1837672, 1837673, 1837674, 1837675,
+ 1837676, 1837696, 1837697, 1837698, 1837729, 1837730, 1837731,
+ 1837732, 1837733, 1837734, 1837735, 1837736, 1837737, 1837738,
+ 1837739, 1837740, 1837793, 1837794, 1837795, 1837796, 1837797,
+ 1837798, 1837799, 1837800, 1837801, 1837802, 1837858, 1837859,
+ 1837860, 1837861, 1837862, 1837863, 1837864, 1837865, 1837866,
+ 1837925, 1837928
+
+
+ 12210, 12000, 12000, 12001, 12002, 12002, 12002, 14112,
+ 75210, 75000, 75000, 75001, 75002, 75002, 75002, 71112,
+ 12000, 12000, 12000, 12001, 12002, 12002, 12002, 15112,
+ 65000, 65000, 65000, 62001, 62002, 62002, 62002, 64162,
+ 54210, 33210, 23000, 23000, 12000, 12001, 12002, 12002,
+ 12002, 12002, 54000, 65000, 65000, 62001, 62002, 62002,
+ 62002, 62002, 54000, 44000, 33000, 33000, 23000, 23000,
+ 20001, 12002, 12002, 12002, 12002, 11162, 54000, 54000,
+ 62001, 62002, 62002, 62002, 62002, 63162, 54000, 44000,
+ 44000, 33000, 33000, 23000, 20001, 20002, 20002, 12002,
+ 12002, 15112, 54000, 54001, 54002, 62002, 62002, 62002,
+ 62112, 54001, 44000, 44000, 33000, 33000, 33001, 20001,
+ 20002, 20002, 20002, 22002, 10112, 54001, 54002, 54002,
+ 54002, 64002, 61112, 54002, 41001, 41001, 41001, 33001,
+ 33001, 33002, 20002, 20002, 20002, 20002, 25112, 54002,
+ 54002, 54002, 54002, 52112, 54002, 41002, 41002, 41002,
+ 33002, 33002, 33002, 33002, 20002, 20002, 20002, 20112,
+ 54002, 54002, 54002, 51112, 54002, 41002, 41002, 41002,
+ 41002, 33002, 33002, 33002, 33002, 20002, 20002, 21162,
+ 54002, 54002, 53162, 50112, 41002, 41002, 41002, 41002,
+ 33002, 33002, 33002, 33002, 35112, 22162, 51112, 43162,
+ 41002, 41002, 41002, 43002, 33002, 33002, 33002, 30112,
+ 42162, 41112, 40112, 31112, 30112, 32162, 122000, 122000,
+ 122000, 125001, 125002, 125002, 125002, 121162, 75000, 75000,
+ 75000, 75001, 75002, 75002, 75002, 72112, 111210, 111000,
+ 122000, 122000, 125001, 125002, 125002, 125002, 125002, 90210,
+ 80000, 80000, 75000, 75001, 75002, 75002, 75002, 75002,
+ 111000, 111000, 111000, 125001, 125002, 125002, 125002, 125002,
+ 120162, 101000, 90000, 90000, 80000, 80000, 83001, 75002,
+ 75002, 75002, 75002, 74162, 111000, 111000, 111001, 111002,
+ 125002, 125002, 125002, 125112, 101000, 101000, 90000, 90000,
+ 80000, 83001, 83002, 83002, 75002, 75002, 72112, 111001,
+ 111001, 111002, 111002, 111002, 121002, 124112, 101000, 101000,
+ 90000, 90000, 90001, 83001, 83002, 83002, 83002, 85002,
+ 73112, 111002, 111002, 111002, 111002, 111002, 115112, 104001,
+ 104001, 104001, 90001, 90001, 90002, 83002, 83002, 83002,
+ 83002, 82112, 111002, 111002, 111002, 111002, 114112, 104002,
+ 104002, 104002, 90002, 90002, 90002, 90002, 83002, 83002,
+ 83002, 83112, 111002, 111002, 111002, 110162, 104002, 104002,
+ 104002, 104002, 90002, 90002, 90002, 90002, 83002, 83002,
+ 84162, 113112, 114112, 104002, 104002, 104002, 104002, 90002,
+ 90002, 90002, 90002, 92112, 85162, 100162, 104002, 104002,
+ 104002, 100002, 90002, 90002, 90002, 93112, 105162, 104112,
+ 103112, 94112, 93112, 95162, 12210, 12000, 12000, 12001,
+ 12002, 12002, 12002, 14112, 75210, 75000, 75000, 75001,
+ 75002, 75002, 75002, 71112, 12000, 12000, 12000, 12001,
+ 12002, 12002, 12002, 15112, 65000, 65000, 65000, 62001,
+ 62002, 62002, 62002, 63112, 54210, 33210, 23000, 23000,
+ 12000, 12001, 12002, 12002, 12002, 12002, 54000, 65000,
+ 65000, 62001, 62002, 62002, 62002, 62002, 54000, 44000,
+ 33000, 33000, 23000, 23000, 20001, 12002, 12002, 12002,
+ 12002, 15112, 54000, 54000, 62001, 62002, 62002, 62002,
+ 62002, 62112, 54000, 44000, 44000, 33000, 33000, 23000,
+ 20001, 20002, 20002, 12002, 12002, 14152, 54000, 54001,
+ 54002, 62002, 62002, 62002, 60152, 54001, 44000, 44000,
+ 33000, 33000, 33001, 20001, 20002, 20002, 20002, 22002,
+ 10112, 54001, 54002, 54002, 54002, 64002, 61112, 54002,
+ 41001, 41001, 41001, 33001, 33001, 33002, 20002, 20002,
+ 20002, 20002, 25112, 54002, 54002, 54002, 54002, 52112,
+ 54002, 41002, 41002, 41002, 33002, 33002, 33002, 33002,
+ 20002, 20002, 20002, 24152, 54002, 54002, 54002, 50152,
+ 54002, 41002, 41002, 41002, 41002, 33002, 33002, 33002,
+ 33002, 20002, 20002, 20112, 54002, 54002, 51112, 50112,
+ 41002, 41002, 41002, 41002, 33002, 33002, 33002, 33002,
+ 35112, 21112, 51112, 42112, 41002, 41002, 41002, 43002,
+ 33002, 33002, 33002, 35152, 41112, 45152, 40112, 31112,
+ 35152, 30112, 122000, 122000, 122000, 125001, 125002, 125002,
+ 125002, 120112, 75000, 75000, 75000, 75001, 75002, 75002,
+ 75002, 71152, 111210, 111000, 122000, 122000, 125001, 125002,
+ 125002, 125002, 125002, 90210, 80000, 80000, 75000, 75001,
+ 75002, 75002, 75002, 75002, 111000, 111000, 111000, 125001,
+ 125002, 125002, 125002, 125002, 125112, 101000, 90000, 90000,
+ 80000, 80000, 83001, 75002, 75002, 75002, 75002, 72112,
+ 111000, 111000, 111001, 111002, 125002, 125002, 125002, 123152,
+ 101000, 101000, 90000, 90000, 80000, 83001, 83002, 83002,
+ 75002, 75002, 71152, 111001, 111001, 111002, 111002, 111002,
+ 121002, 124112, 101000, 101000, 90000, 90000, 90001, 83001,
+ 83002, 83002, 83002, 85002, 73112, 111002, 111002, 111002,
+ 111002, 111002, 115112, 104001, 104001, 104001, 90001, 90001,
+ 90002, 83002, 83002, 83002, 83002, 82112, 111002, 111002,
+ 111002, 111002, 113152, 104002, 104002, 104002, 90002, 90002,
+ 90002, 90002, 83002, 83002, 83002, 81152, 111002, 111002,
+ 111002, 114112, 104002, 104002, 104002, 104002, 90002, 90002,
+ 90002, 90002, 83002, 83002, 83112, 113112, 113152, 104002,
+ 104002, 104002, 104002, 90002, 90002, 90002, 90002, 92112,
+ 84112, 105112, 104002, 104002, 104002, 100002, 90002, 90002,
+ 90002, 93112, 104112, 102152, 103112, 94112, 92152, 93112,
+ 12210, 12000, 12000, 12001, 12002, 12002, 12002, 14112,
+ 75210, 75000, 75000, 75001, 75002, 75002, 75002, 71112,
+ 12000, 12000, 12000, 12002, 12002, 12002, 12002, 12002,
+ 65000, 65000, 65000, 62002, 62002, 62002, 62002, 62002,
+ 54210, 33210, 23000, 23000, 12000, 12001, 12002, 12002,
+ 12002, 12002, 11162, 54000, 65000, 65000, 62001, 62002,
+ 62002, 62002, 62002, 63162, 54000, 44000, 33000, 33000,
+ 23000, 23000, 20001, 12002, 12002, 12002, 12002, 15112,
+ 54000, 54000, 62001, 62002, 62002, 62002, 62002, 62112,
+ 54000, 44000, 44000, 33000, 33000, 23000, 20001, 20002,
+ 20002, 12002, 12002, 14152, 54000, 54001, 54002, 62002,
+ 62002, 62002, 60152, 54001, 44000, 44000, 33000, 33000,
+ 33001, 20002, 20002, 20002, 20002, 22002, 15152, 54002,
+ 54002, 54002, 54002, 64002, 65152, 54002, 41002, 41001,
+ 41001, 33001, 33002, 33002, 20002, 20002, 20002, 20002,
+ 23152, 54002, 54002, 54002, 54002, 51152, 54002, 41002,
+ 41002, 41002, 33002, 33002, 33002, 33002, 20002, 20002,
+ 20002, 24152, 54002, 54002, 54002, 50152, 54002, 41002,
+ 41002, 41002, 41002, 33002, 33002, 33002, 33002, 20002,
+ 20002, 20112, 54002, 54002, 51112, 50112, 41002, 41002,
+ 41002, 41002, 33002, 33002, 33002, 33002, 35112, 20002,
+ 21162, 54002, 53162, 41002, 41002, 41002, 41002, 43002,
+ 33002, 33002, 33002, 33002, 42162, 41112, 45152, 44152,
+ 30152, 35152, 30112, 32162, 122000, 122000, 122000, 125002,
+ 125002, 125002, 125002, 125002, 75000, 75000, 75000, 75002,
+ 75002, 75002, 75002, 75002, 111210, 111000, 122000, 122000,
+ 125001, 125002, 125002, 125002, 125002, 120162, 90210, 80000,
+ 80000, 75000, 75001, 75002, 75002, 75002, 75002, 74162,
+ 111000, 111000, 111000, 125001, 125002, 125002, 125002, 125002,
+ 125112, 101000, 90000, 90000, 80000, 80000, 83001, 75002,
+ 75002, 75002, 75002, 72112, 111000, 111000, 111001, 111002,
+ 125002, 125002, 125002, 123152, 101000, 101000, 90000, 90000,
+ 80000, 83001, 83002, 83002, 75002, 75002, 71152, 111001,
+ 111002, 111002, 111002, 111002, 121002, 122152, 101000, 101000,
+ 90000, 90000, 90001, 83002, 83002, 83002, 83002, 85002,
+ 72152, 111002, 111002, 111002, 111002, 111002, 114152, 104002,
+ 104001, 104001, 90001, 90002, 90002, 83002, 83002, 83002,
+ 83002, 80152, 111002, 111002, 111002, 111002, 113152, 104002,
+ 104002, 104002, 90002, 90002, 90002, 90002, 83002, 83002,
+ 83002, 81152, 111002, 111002, 111002, 114112, 104002, 104002,
+ 104002, 104002, 90002, 90002, 90002, 90002, 83002, 83002,
+ 83112, 113112, 111002, 110162, 104002, 104002, 104002, 104002,
+ 90002, 90002, 90002, 90002, 92112, 83002, 84162, 104002,
+ 104002, 104002, 104002, 100002, 90002, 90002, 90002, 90002,
+ 105162, 104112, 102152, 101152, 93152, 92152, 93112, 95162,
+ 12210, 12000, 12000, 12001, 12002, 12002, 12002, 14112,
+ 75210, 75000, 75000, 75001, 75002, 75002, 75002, 71112,
+ 12000, 12000, 12000, 12002, 12002, 12002, 12002, 12002,
+ 65000, 65000, 65000, 62002, 62002, 62002, 62002, 62002,
+ 54210, 33210, 23000, 23000, 12000, 12001, 12002, 12002,
+ 12002, 12002, 15112, 54000, 65000, 65000, 62001, 62002,
+ 62002, 62002, 62002, 62112, 54000, 44000, 33000, 33000,
+ 23000, 23000, 20001, 12002, 12002, 12002, 12002, 14152,
+ 54000, 54000, 62001, 62002, 62002, 62002, 62002, 60152,
+ 54000, 44000, 44000, 33000, 33000, 23000, 20001, 20002,
+ 20002, 12002, 12002, 12002, 54000, 54001, 54002, 62002,
+ 62002, 62002, 62002, 54001, 44000, 44000, 33000, 33000,
+ 33001, 20002, 20002, 20002, 20002, 22002, 15152, 11162,
+ 54002, 54002, 54002, 54002, 64002, 65152, 63162, 54002,
+ 41002, 41001, 41001, 33001, 33002, 33002, 20002, 20002,
+ 20002, 20002, 23152, 54002, 54002, 54002, 54002, 51152,
+ 54002, 41002, 41002, 41002, 33002, 33002, 33002, 33002,
+ 20002, 20002, 20002, 20002, 21162, 54002, 54002, 54002,
+ 54002, 53162, 54002, 41002, 41002, 41002, 41002, 33002,
+ 33002, 33002, 33002, 20002, 20002, 24152, 54002, 54002,
+ 50152, 50112, 41002, 41002, 41002, 41002, 33002, 33002,
+ 33002, 33002, 35112, 20002, 20112, 54002, 51112, 41002,
+ 41002, 41002, 41002, 43002, 33002, 33002, 33002, 33002,
+ 41112, 45152, 41002, 44152, 30152, 33002, 35152, 30112,
+ 42162, 32162, 122000, 122000, 122000, 125002, 125002, 125002,
+ 125002, 125002, 75000, 75000, 75000, 75002, 75002, 75002,
+ 75002, 75002, 111210, 111000, 122000, 122000, 125001, 125002,
+ 125002, 125002, 125002, 125112, 90210, 80000, 80000, 75000,
+ 75001, 75002, 75002, 75002, 75002, 72112, 111000, 111000,
+ 111000, 125001, 125002, 125002, 125002, 125002, 123152, 101000,
+ 90000, 90000, 80000, 80000, 83001, 75002, 75002, 75002,
+ 75002, 71152, 111000, 111000, 111001, 111002, 125002, 125002,
+ 125002, 125002, 101000, 101000, 90000, 90000, 80000, 83001,
+ 83002, 83002, 75002, 75002, 75002, 111001, 111002, 111002,
+ 111002, 111002, 121002, 122152, 120162, 101000, 101000, 90000,
+ 90000, 90001, 83002, 83002, 83002, 83002, 85002, 72152,
+ 74162, 111002, 111002, 111002, 111002, 111002, 114152, 104002,
+ 104001, 104001, 90001, 90002, 90002, 83002, 83002, 83002,
+ 83002, 80152, 111002, 111002, 111002, 111002, 111002, 110162,
+ 104002, 104002, 104002, 90002, 90002, 90002, 90002, 83002,
+ 83002, 83002, 83002, 84162, 111002, 111002, 111002, 113152,
+ 104002, 104002, 104002, 104002, 90002, 90002, 90002, 90002,
+ 83002, 83002, 81152, 113112, 111002, 114112, 104002, 104002,
+ 104002, 104002, 90002, 90002, 90002, 90002, 92112, 83002,
+ 83112, 104002, 104002, 104002, 104002, 100002, 90002, 90002,
+ 90002, 90002, 104112, 102152, 104002, 101152, 93152, 90002,
+ 92152, 93112, 105162, 95162, 12210, 12000, 12000, 12001,
+ 12002, 12002, 12002, 14112, 75210, 75000, 75000, 75001,
+ 75002, 75002, 75002, 71112, 12000, 12000, 12000, 12002,
+ 12002, 12002, 12002, 12002, 65000, 65000, 65000, 62002,
+ 62002, 62002, 62002, 62002, 54210, 33210, 23000, 23000,
+ 12000, 12002, 12002, 12002, 12002, 12002, 15112, 54000,
+ 65000, 65000, 62002, 62002, 62002, 62002, 62002, 62112,
+ 54000, 44000, 33000, 33000, 23000, 23000, 20001, 12002,
+ 12002, 12002, 12002, 12002, 54000, 54000, 62001, 62002,
+ 62002, 62002, 62002, 62002, 54000, 44000, 44000, 33000,
+ 33000, 23000, 20002, 20002, 20002, 12002, 12002, 12002,
+ 11162, 54000, 54002, 54002, 62002, 62002, 62002, 62002,
+ 63162, 54001, 44000, 44000, 33000, 33000, 33001, 20002,
+ 20002, 20002, 20002, 22002, 15152, 14132, 54002, 54002,
+ 54002, 54002, 64002, 65152, 60132, 54002, 41002, 41002,
+ 41001, 33002, 33002, 33002, 20002, 20002, 20002, 20002,
+ 23152, 54002, 54002, 54002, 54002, 51152, 54002, 41002,
+ 41002, 41002, 33002, 33002, 33002, 33002, 20002, 20002,
+ 20002, 20002, 24132, 54002, 54002, 54002, 54002, 50132,
+ 54002, 41002, 41002, 41002, 41002, 33002, 33002, 33002,
+ 33002, 20002, 20002, 20002, 21162, 54002, 54002, 54002,
+ 53162, 50112, 41002, 41002, 41002, 41002, 33002, 33002,
+ 33002, 33002, 35112, 20002, 20112, 54002, 51112, 41002,
+ 41002, 41002, 41002, 43002, 33002, 33002, 33002, 33002,
+ 41112, 41002, 41002, 44152, 30152, 33002, 33002, 30112,
+ 42162, 45132, 35132, 32162, 122000, 122000, 122000, 125002,
+ 125002, 125002, 125002, 125002, 75000, 75000, 75000, 75002,
+ 75002, 75002, 75002, 75002, 111210, 111000, 122000, 122000,
+ 125002, 125002, 125002, 125002, 125002, 125112, 90210, 80000,
+ 80000, 75000, 75002, 75002, 75002, 75002, 75002, 72112,
+ 111000, 111000, 111000, 125001, 125002, 125002, 125002, 125002,
+ 125002, 101000, 90000, 90000, 80000, 80000, 83001, 75002,
+ 75002, 75002, 75002, 75002, 111000, 111000, 111002, 111002,
+ 125002, 125002, 125002, 125002, 120162, 101000, 101000, 90000,
+ 90000, 80000, 83002, 83002, 83002, 75002, 75002, 75002,
+ 74162, 111001, 111002, 111002, 111002, 111002, 121002, 122152,
+ 123132, 101000, 101000, 90000, 90000, 90001, 83002, 83002,
+ 83002, 83002, 85002, 72152, 71132, 111002, 111002, 111002,
+ 111002, 111002, 114152, 104002, 104002, 104001, 90002, 90002,
+ 90002, 83002, 83002, 83002, 83002, 80152, 111002, 111002,
+ 111002, 111002, 111002, 113132, 104002, 104002, 104002, 90002,
+ 90002, 90002, 90002, 83002, 83002, 83002, 83002, 81132,
+ 111002, 111002, 111002, 111002, 110162, 104002, 104002, 104002,
+ 104002, 90002, 90002, 90002, 90002, 83002, 83002, 83002,
+ 84162, 113112, 111002, 114112, 104002, 104002, 104002, 104002,
+ 90002, 90002, 90002, 90002, 92112, 83002, 83112, 104002,
+ 104002, 104002, 104002, 100002, 90002, 90002, 90002, 90002,
+ 104112, 104002, 104002, 101152, 93152, 90002, 90002, 93112,
+ 105162, 102132, 92132, 95162, 12210, 12000, 12000, 12001,
+ 12002, 12002, 12002, 12002, 14112, 75210, 75000, 75000,
+ 75001, 75002, 75002, 75002, 75002, 71112, 12000, 12000,
+ 12000, 12002, 12002, 12002, 12002, 12002, 15112, 65000,
+ 65000, 65000, 62002, 62002, 62002, 62002, 62002, 64162,
+ 54210, 33210, 23000, 23000, 12000, 12002, 12002, 12002,
+ 12002, 12002, 12002, 54000, 65000, 65000, 62002, 62002,
+ 62002, 62002, 62002, 62002, 54000, 44000, 33000, 33000,
+ 23000, 23000, 20002, 12002, 12002, 12002, 12002, 12002,
+ 15112, 54000, 54000, 62002, 62002, 62002, 62002, 62002,
+ 62002, 62112, 54000, 44000, 44000, 33000, 33000, 23000,
+ 20002, 20002, 20002, 12002, 12002, 12002, 14152, 54000,
+ 54002, 54002, 62002, 62002, 62002, 62002, 60152, 54001,
+ 44000, 44000, 33000, 33000, 33001, 20002, 20002, 20002,
+ 20002, 20002, 10002, 14152, 54002, 54002, 54002, 54002,
+ 62002, 62002, 60152, 54002, 41002, 41002, 41002, 33002,
+ 33002, 33002, 20002, 20002, 20002, 20002, 20002, 21162,
+ 54002, 54002, 54002, 54002, 52002, 63162, 54002, 41002,
+ 41002, 41002, 33002, 33002, 33002, 33002, 20002, 20002,
+ 20002, 20002, 24152, 54002, 54002, 54002, 54002, 50152,
+ 54002, 41002, 41002, 41002, 41002, 33002, 33002, 33002,
+ 33002, 20002, 20002, 20002, 24152, 54002, 54002, 54002,
+ 50152, 54002, 41002, 41002, 41002, 41002, 33002, 33002,
+ 33002, 33002, 33002, 20002, 20002, 20112, 54002, 54002,
+ 51112, 50112, 41002, 41002, 41002, 41002, 41002, 33002,
+ 33002, 33002, 33002, 35112, 22162, 51112, 43162, 41002,
+ 41002, 41002, 41002, 31002, 33002, 33002, 33002, 30112,
+ 41112, 45152, 45152, 42162, 35152, 35152, 30112, 122000,
+ 122000, 122000, 125002, 125002, 125002, 125002, 125002, 121162,
+ 75000, 75000, 75000, 75002, 75002, 75002, 75002, 75002,
+ 72112, 111210, 111000, 122000, 122000, 125002, 125002, 125002,
+ 125002, 125002, 125002, 90210, 80000, 80000, 75000, 75002,
+ 75002, 75002, 75002, 75002, 75002, 111000, 111000, 111000,
+ 125002, 125002, 125002, 125002, 125002, 125002, 125112, 101000,
+ 90000, 90000, 80000, 80000, 83002, 75002, 75002, 75002,
+ 75002, 75002, 72112, 111000, 111000, 111002, 111002, 125002,
+ 125002, 125002, 125002, 123152, 101000, 101000, 90000, 90000,
+ 80000, 83002, 83002, 83002, 75002, 75002, 75002, 71152,
+ 111001, 111002, 111002, 111002, 111002, 125002, 125002, 123152,
+ 101000, 101000, 90000, 90000, 90001, 83002, 83002, 83002,
+ 83002, 83002, 73002, 71152, 111002, 111002, 111002, 111002,
+ 111002, 115002, 120162, 104002, 104002, 104002, 90002, 90002,
+ 90002, 83002, 83002, 83002, 83002, 83002, 84162, 111002,
+ 111002, 111002, 111002, 111002, 113152, 104002, 104002, 104002,
+ 90002, 90002, 90002, 90002, 83002, 83002, 83002, 83002,
+ 81152, 111002, 111002, 111002, 111002, 113152, 104002, 104002,
+ 104002, 104002, 90002, 90002, 90002, 90002, 83002, 83002,
+ 83002, 81152, 111002, 111002, 111002, 114112, 104002, 104002,
+ 104002, 104002, 90002, 90002, 90002, 90002, 90002, 83002,
+ 83002, 83112, 113112, 114112, 104002, 104002, 104002, 104002,
+ 104002, 90002, 90002, 90002, 90002, 92112, 85162, 100162,
+ 104002, 104002, 104002, 104002, 94002, 90002, 90002, 90002,
+ 93112, 104112, 102152, 102152, 105162, 92152, 92152, 93112,
+ 12210, 12000, 12000, 12002, 12002, 12002, 12002, 12002,
+ 14112, 75210, 75000, 75000, 75002, 75002, 75002, 75002,
+ 75002, 71112, 12000, 12000, 12000, 12002, 12002, 12002,
+ 12002, 12002, 12002, 65000, 65000, 65000, 62002, 62002,
+ 62002, 62002, 62002, 62002, 54210, 33210, 23000, 23000,
+ 12000, 12002, 12002, 12002, 12002, 12002, 12002, 15112,
+ 54000, 65000, 65000, 62002, 62002, 62002, 62002, 62002,
+ 62002, 62112, 54000, 44000, 33000, 33000, 23000, 23000,
+ 20002, 20002, 12002, 12002, 12002, 12002, 12002, 54000,
+ 54000, 62002, 62002, 62002, 62002, 62002, 62002, 62002,
+ 54000, 44000, 44000, 33000, 33000, 23000, 20002, 20002,
+ 20002, 20002, 12002, 12002, 12002, 54000, 54002, 62002,
+ 62002, 62002, 62002, 62002, 62002, 54002, 44000, 44000,
+ 33000, 33000, 33002, 20002, 20002, 20002, 20002, 20002,
+ 10002, 10002, 14132, 54002, 54002, 54002, 62002, 62002,
+ 62002, 62002, 60132, 54002, 41002, 41002, 41002, 33002,
+ 33002, 33002, 20002, 20002, 20002, 20002, 20002, 14152,
+ 54002, 54002, 54002, 54002, 52002, 50152, 54002, 41002,
+ 41002, 41002, 41002, 33002, 33002, 33002, 20002, 20002,
+ 20002, 20002, 20002, 54002, 54002, 54002, 54002, 52002,
+ 54002, 41002, 41002, 41002, 41002, 33002, 33002, 33002,
+ 33002, 20002, 20002, 20002, 20002, 24132, 54002, 54002,
+ 54002, 54002, 50132, 54002, 41002, 41002, 41002, 41002,
+ 41002, 33002, 33002, 33002, 33002, 20002, 20002, 20002,
+ 54002, 54002, 54002, 50112, 41002, 41002, 41002, 41002,
+ 41002, 33002, 33002, 33002, 33002, 35112, 20002, 20112,
+ 54002, 51112, 41002, 41002, 41002, 41002, 41002, 31002,
+ 33002, 33002, 33002, 33002, 41112, 41002, 41002, 41002,
+ 35152, 31002, 33002, 33002, 30112, 45132, 35132, 122000,
+ 122000, 122000, 125002, 125002, 125002, 125002, 125002, 125002,
+ 75000, 75000, 75000, 75002, 75002, 75002, 75002, 75002,
+ 75002, 111210, 111000, 122000, 122000, 125002, 125002, 125002,
+ 125002, 125002, 125002, 125112, 90210, 80000, 80000, 75000,
+ 75002, 75002, 75002, 75002, 75002, 75002, 72112, 111000,
+ 111000, 111000, 125002, 125002, 125002, 125002, 125002, 125002,
+ 125002, 101000, 90000, 90000, 80000, 80000, 83002, 83002,
+ 75002, 75002, 75002, 75002, 75002, 111000, 111000, 111002,
+ 125002, 125002, 125002, 125002, 125002, 125002, 101000, 101000,
+ 90000, 90000, 80000, 83002, 83002, 83002, 83002, 75002,
+ 75002, 75002, 111002, 111002, 111002, 111002, 125002, 125002,
+ 125002, 125002, 123132, 101000, 101000, 90000, 90000, 90002,
+ 83002, 83002, 83002, 83002, 83002, 73002, 73002, 71132,
+ 111002, 111002, 111002, 111002, 111002, 115002, 113152, 104002,
+ 104002, 104002, 90002, 90002, 90002, 83002, 83002, 83002,
+ 83002, 83002, 71152, 111002, 111002, 111002, 111002, 111002,
+ 115002, 104002, 104002, 104002, 104002, 90002, 90002, 90002,
+ 83002, 83002, 83002, 83002, 83002, 111002, 111002, 111002,
+ 111002, 111002, 113132, 104002, 104002, 104002, 104002, 90002,
+ 90002, 90002, 90002, 83002, 83002, 83002, 83002, 81132,
+ 111002, 111002, 111002, 111002, 104002, 104002, 104002, 104002,
+ 104002, 90002, 90002, 90002, 90002, 83002, 83002, 83002,
+ 113112, 111002, 114112, 104002, 104002, 104002, 104002, 104002,
+ 90002, 90002, 90002, 90002, 92112, 83002, 83112, 104002,
+ 104002, 104002, 104002, 104002, 94002, 90002, 90002, 90002,
+ 90002, 104112, 104002, 104002, 104002, 92152, 94002, 90002,
+ 90002, 93112, 102132, 92132
+
+
+ 0, 348, 696, 1056, 1428, 1812, 2232
+
+
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm,
+ 0*mm, 0*mm, 0*mm, 0*mm, 0*mm, 0*mm
+
+
+
+
+
diff --git a/Geometry/HGCalCommonData/data/hgcalcell/v17/hgcalcell.xml b/Geometry/HGCalCommonData/data/hgcalcell/v17/hgcalcell.xml
index 435fa14ec5a04..ceec4966f4389 100644
--- a/Geometry/HGCalCommonData/data/hgcalcell/v17/hgcalcell.xml
+++ b/Geometry/HGCalCommonData/data/hgcalcell/v17/hgcalcell.xml
@@ -316,6 +316,49 @@
HGCalHESiliconCellSensitiveCorner09Fine, HGCalHESiliconCellSensitiveCorner10Fine,
HGCalHESiliconCellSensitiveCorner11Fine, HGCalHESiliconCellSensitiveCorner12Fine
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HGCalHECellTrunc21Fine, HGCalHECellTrunc22Fine,
+ HGCalHECellTrunc23Fine, HGCalHECellTrunc24Fine,
+ HGCalHECellTrunc25Fine, HGCalHECellTrunc26Fine
+
+ HGCalHESiliconCellSensitiveTrunc21Fine, HGCalHESiliconCellSensitiveTrunc22Fine,
+ HGCalHESiliconCellSensitiveTrunc23Fine, HGCalHESiliconCellSensitiveTrunc24Fine,
+ HGCalHESiliconCellSensitiveTrunc25Fine, HGCalHESiliconCellSensitiveTrunc26Fine
+
+ HGCalHECellExten21Fine, HGCalHECellExten22Fine,
+ HGCalHECellExten23Fine, HGCalHECellExten24Fine,
+ HGCalHECellExten25Fine, HGCalHECellExten26Fine
+
+ HGCalHESiliconCellSensitiveExten21Fine, HGCalHESiliconCellSensitiveExten22Fine,
+ HGCalHESiliconCellSensitiveExten23Fine, HGCalHESiliconCellSensitiveExten24Fine,
+ HGCalHESiliconCellSensitiveExten25Fine, HGCalHESiliconCellSensitiveExten26Fine
+
+ HGCalHECellCorner21Fine, HGCalHECellCorner22Fine,
+ HGCalHECellCorner23Fine, HGCalHECellCorner24Fine,
+ HGCalHECellCorner25Fine, HGCalHECellCorner26Fine,
+ HGCalHECellCorner27Fine, HGCalHECellCorner28Fine,
+ HGCalHECellCorner29Fine, HGCalHECellCorner30Fine,
+ HGCalHECellCorner31Fine, HGCalHECellCorner32Fine
+
+ HGCalHESiliconCellSensitiveCorner21Fine, HGCalHESiliconCellSensitiveCorner22Fine,
+ HGCalHESiliconCellSensitiveCorner23Fine, HGCalHESiliconCellSensitiveCorner24Fine,
+ HGCalHESiliconCellSensitiveCorner25Fine, HGCalHESiliconCellSensitiveCorner26Fine,
+ HGCalHESiliconCellSensitiveCorner27Fine, HGCalHESiliconCellSensitiveCorner28Fine,
+ HGCalHESiliconCellSensitiveCorner29Fine, HGCalHESiliconCellSensitiveCorner30Fine,
+ HGCalHESiliconCellSensitiveCorner31Fine, HGCalHESiliconCellSensitiveCorner32Fine
+
@@ -359,6 +402,49 @@
HGCalHESiliconCellSensitiveCorner09Coarse1, HGCalHESiliconCellSensitiveCorner10Coarse1,
HGCalHESiliconCellSensitiveCorner11Coarse1, HGCalHESiliconCellSensitiveCorner12Coarse1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HGCalHECellTrunc21Coarse1, HGCalHECellTrunc22Coarse1,
+ HGCalHECellTrunc23Coarse1, HGCalHECellTrunc24Coarse1,
+ HGCalHECellTrunc25Coarse1, HGCalHECellTrunc26Coarse1
+
+ HGCalHESiliconCellSensitiveTrunc21Coarse1, HGCalHESiliconCellSensitiveTrunc22Coarse1,
+ HGCalHESiliconCellSensitiveTrunc23Coarse1, HGCalHESiliconCellSensitiveTrunc24Coarse1,
+ HGCalHESiliconCellSensitiveTrunc25Coarse1, HGCalHESiliconCellSensitiveTrunc26Coarse1
+
+ HGCalHECellExten21Coarse1, HGCalHECellExten22Coarse1,
+ HGCalHECellExten23Coarse1, HGCalHECellExten24Coarse1,
+ HGCalHECellExten25Coarse1, HGCalHECellExten26Coarse1
+
+ HGCalHECellSiliconSensitiveExten21Coarse1, HGCalHESiliconCellSensitiveExten22Coarse1,
+ HGCalHECellSiliconSensitiveExten23Coarse1, HGCalHESiliconCellSensitiveExten24Coarse1,
+ HGCalHECellSiliconSensitiveExten25Coarse1, HGCalHESiliconCellSensitiveExten26Coarse1
+
+ HGCalHECellCorner21Coarse1, HGCalHECellCorner22Coarse1,
+ HGCalHECellCorner23Coarse1, HGCalHECellCorner24Coarse1,
+ HGCalHECellCorner25Coarse1, HGCalHECellCorner26Coarse1,
+ HGCalHECellCorner27Coarse1, HGCalHECellCorner28Coarse1,
+ HGCalHECellCorner29Coarse1, HGCalHECellCorner30Coarse1,
+ HGCalHECellCorner31Coarse1, HGCalHECellCorner32Coarse1
+
+ HGCalHESiliconCellSensitiveCorner21Coarse1, HGCalHESiliconCellSensitiveCorner22Coarse1,
+ HGCalHESiliconCellSensitiveCorner23Coarse1, HGCalHESiliconCellSensitiveCorner24Coarse1,
+ HGCalHESiliconCellSensitiveCorner25Coarse1, HGCalHESiliconCellSensitiveCorner26Coarse1,
+ HGCalHESiliconCellSensitiveCorner27Coarse1, HGCalHESiliconCellSensitiveCorner28Coarse1,
+ HGCalHESiliconCellSensitiveCorner29Coarse1, HGCalHESiliconCellSensitiveCorner30Coarse1,
+ HGCalHESiliconCellSensitiveCorner31Coarse1, HGCalHESiliconCellSensitiveCorner32Coarse1
+
@@ -402,6 +488,49 @@
HGCalHESiliconCellSensitiveCorner09Coarse2, HGCalHESiliconCellSensitiveCorner10Coarse2,
HGCalHESiliconCellSensitiveCorner11Coarse2, HGCalHESiliconCellSensitiveCorner12Coarse2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HGCalHECellTrunc21Coarse2, HGCalHECellTrunc22Coarse2,
+ HGCalHECellTrunc23Coarse2, HGCalHECellTrunc24Coarse2,
+ HGCalHECellTrunc25Coarse2, HGCalHECellTrunc26Coarse2
+
+ HGCalHESiliconCellSensitiveTrunc21Coarse2, HGCalHESiliconCellSensitiveTrunc22Coarse2,
+ HGCalHESiliconCellSensitiveTrunc23Coarse2, HGCalHESiliconCellSensitiveTrunc24Coarse2,
+ HGCalHESiliconCellSensitiveTrunc25Coarse2, HGCalHESiliconCellSensitiveTrunc26Coarse2
+
+ HGCalHECellExten21Coarse2, HGCalHECellExten22Coarse2,
+ HGCalHECellExten23Coarse2, HGCalHECellExten24Coarse2,
+ HGCalHECellExten25Coarse2, HGCalHECellExten26Coarse2
+
+ HGCalHESiliconCellSensitiveExten21Coarse2, HGCalHESiliconCellSensitiveExten22Coarse2,
+ HGCalHESiliconCellSensitiveExten23Coarse2, HGCalHESiliconCellSensitiveExten24Coarse2,
+ HGCalHESiliconCellSensitiveExten25Coarse2, HGCalHESiliconCellSensitiveExten26Coarse2
+
+ HGCalHECellCorner21Coarse2, HGCalHECellCorner22Coarse2,
+ HGCalHECellCorner23Coarse2, HGCalHECellCorner24Coarse2,
+ HGCalHECellCorner25Coarse2, HGCalHECellCorner26Coarse2,
+ HGCalHECellCorner27Coarse2, HGCalHECellCorner28Coarse2,
+ HGCalHECellCorner29Coarse2, HGCalHECellCorner30Coarse2,
+ HGCalHECellCorner31Coarse2, HGCalHECellCorner32Coarse2
+
+ HGCalHESiliconCellSensitiveCorner21Coarse2, HGCalHESiliconCellSensitiveCorner22Coarse2,
+ HGCalHESiliconCellSensitiveCorner23Coarse2, HGCalHESiliconCellSensitiveCorner24Coarse2,
+ HGCalHESiliconCellSensitiveCorner25Coarse2, HGCalHESiliconCellSensitiveCorner26Coarse2,
+ HGCalHESiliconCellSensitiveCorner27Coarse2, HGCalHESiliconCellSensitiveCorner28Coarse2,
+ HGCalHESiliconCellSensitiveCorner29Coarse2, HGCalHESiliconCellSensitiveCorner30Coarse2,
+ HGCalHESiliconCellSensitiveCorner31Coarse2, HGCalHESiliconCellSensitiveCorner32Coarse2
+
diff --git a/Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcalwafer.xml b/Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcalwafer.xml
index 4d59487fcdb0e..4b5e49a0822c4 100644
--- a/Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcalwafer.xml
+++ b/Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcalwafer.xml
@@ -26,12 +26,12 @@
-
+
0, 1, 2, 3, 4, 5
0, 0, 0, 0, 0, 0
- 00, 01, 02, 03, 04, 05
+ 06, 07, 08, 09, 10, 11
HGCalEEAirGap, HGCalEEMotherBoard,
HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy,
@@ -75,12 +75,12 @@
-
+
0, 1, 2, 3, 4, 5
1, 1, 1, 1, 1, 1
- 06, 07, 08, 09, 10, 11
+ 00, 01, 02, 03, 04, 05
HGCalEEAirGap, HGCalEEMotherBoard,
HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy,
@@ -124,12 +124,12 @@
-
+
0, 1, 2, 3, 4, 5
0, 0, 0, 0, 0, 0
- 00, 01, 02, 03, 04, 05
+ 06, 07, 08, 09, 10, 11
HGCalEEAirGap, HGCalEEMotherBoard,
HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy,
@@ -173,12 +173,12 @@
-
+
0, 1, 2, 3, 4, 5
1, 1, 1, 1, 1, 1
- 06, 07, 08, 09, 10, 11
+ 00, 01, 02, 03, 04, 05
HGCalEEAirGap, HGCalEEMotherBoard,
HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy,
@@ -222,12 +222,12 @@
-
+
0, 1, 2, 3, 4, 5
0, 0, 0, 0, 0, 0
- 00, 01, 02, 03, 04, 05
+ 06, 07, 08, 09, 10, 11
HGCalEEAirGap, HGCalEEMotherBoard,
HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy,
@@ -271,12 +271,12 @@
-
+
0, 1, 2, 3, 4, 5
1, 1, 1, 1, 1, 1
- 06, 07, 08, 09, 10, 11
+ 00, 01, 02, 03, 04, 05
HGCalEEAirGap, HGCalEEMotherBoard,
HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy,
@@ -320,12 +320,12 @@
-
+
0, 1, 2, 3, 4, 5
0, 0, 0, 0, 0, 0
- 00, 01, 02, 03, 04, 05
+ 06, 07, 08, 09, 10, 11
HGCalHEAirGap, HGCalHEMotherBoard,
HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy,
@@ -369,12 +369,12 @@
-
+
0, 1, 2, 3, 4, 5
1, 1, 1, 1, 1, 1
- 06, 07, 08, 09, 10, 11
+ 00, 01, 02, 03, 04, 05
HGCalHEAirGap, HGCalHEMotherBoard,
HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy,
@@ -418,12 +418,12 @@
-
+
0, 1, 2, 3, 4, 5
0, 0, 0, 0, 0, 0
- 00, 01, 02, 03, 04, 05
+ 06, 07, 08, 09, 10, 11
HGCalHEAirGap, HGCalHEMotherBoard,
HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy,
@@ -467,12 +467,12 @@
-
+
0, 1, 2, 3, 4, 5
1, 1, 1, 1, 1, 1
- 06, 07, 08, 09, 10, 11
+ 00, 01, 02, 03, 04, 05
HGCalHEAirGap, HGCalHEMotherBoard,
HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy,
@@ -516,12 +516,12 @@
-
+
0, 1, 2, 3, 4, 5
0, 0, 0, 0, 0, 0
- 00, 01, 02, 03, 04, 05
+ 06, 07, 08, 09, 10, 11
HGCalHEAirGap, HGCalHEMotherBoard,
HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy,
@@ -565,12 +565,12 @@
-
+
0, 1, 2, 3, 4, 5
1, 1, 1, 1, 1, 1
- 06, 07, 08, 09, 10, 11
+ 00, 01, 02, 03, 04, 05
HGCalHEAirGap, HGCalHEMotherBoard,
HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy,
@@ -637,7 +637,7 @@
0, 0, 0, 0, 0, 0, 0, 1, 0
- 0, 1, 2, 3, 4, 7, 5, 6, 5, 8
+ 8, 5, 6, 5, 7, 4, 3, 2, 1, 0
@@ -672,8 +672,8 @@
[WaferThickness], 1.40*mm
0, 0, 0, 0, 0, 0, 0, 1, 0
-
- 8, 5, 6, 5, 7, 4, 3, 2, 1, 0
+
+ 0, 1, 2, 3, 4, 7, 5, 6, 5, 8
@@ -709,7 +709,7 @@
0, 0, 0, 0, 0, 0, 0, 1, 0
- 0, 1, 2, 3, 4, 7, 5, 6, 5, 8
+ 8, 5, 6, 5, 7, 4, 3, 2, 1, 0
@@ -745,7 +745,7 @@
0, 0, 0, 0, 0, 0, 0, 1, 0
- 8, 5, 6, 5, 7, 4, 3, 2, 1, 0
+ 0, 1, 2, 3, 4, 7, 5, 6, 5, 8
@@ -781,7 +781,7 @@
0, 0, 0, 0, 0, 0, 0, 1, 0
- 0, 1, 2, 3, 4, 7, 5, 6, 5, 8
+ 8, 5, 6, 5, 7, 4, 3, 2, 1, 0
@@ -817,7 +817,7 @@
0, 0, 0, 0, 0, 0, 0, 1, 0
- 8, 5, 6, 5, 7, 4, 3, 2, 1, 0
+ 0, 1, 2, 3, 4, 7, 5, 6, 5, 8
@@ -853,7 +853,7 @@
0, 0, 0, 0, 0, 0, 1, 0
- 0, 1, 2, 3, 4, 6, 4, 5, 4, 7
+ 7, 4, 5, 4, 6, 4, 3, 2, 1, 0
@@ -871,8 +871,8 @@
21, 22, 23, 24, 25
- 1, 1, 1, 1, 1, 1
-
+ 6, 7, 8, 9, 10, 11
+
06, 07, 08, 09, 10, 11
HGCalHEAirGap, HGCalHEMotherBoard,
@@ -889,7 +889,7 @@
0, 0, 0, 0, 0, 0, 1, 0
- 7, 4, 5, 4, 6, 4, 3, 2, 1, 0
+ 0, 1, 2, 3, 4, 6, 4, 5, 4, 7
@@ -925,7 +925,7 @@
0, 0, 0, 0, 0, 0, 1, 0
- 0, 1, 2, 3, 4, 6, 4, 5, 4, 7
+ 7, 4, 5, 4, 6, 4, 3, 2, 1, 0
@@ -943,9 +943,9 @@
11, 12, 13, 14, 15, 16
- 1, 1, 1, 1, 1, 1
-
- 06, 07, 08, 09, 10, 11
+ 6, 7, 8, 9, 10, 11
+
+ 06, 07, 08, 09, 10, 11
HGCalHEAirGap, HGCalHEMotherBoard,
HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy,
@@ -961,7 +961,7 @@
0, 0, 0, 0, 0, 0, 1, 0
- 7, 4, 5, 4, 6, 4, 3, 2, 1, 0
+ 0, 1, 2, 3, 4, 6, 4, 5, 4, 7
@@ -997,7 +997,7 @@
0, 0, 0, 0, 0, 0, 1, 0
- 0, 1, 2, 3, 4, 6, 4, 5, 4, 7
+ 7, 4, 5, 4, 6, 4, 3, 2, 1, 0
@@ -1015,9 +1015,9 @@
11, 12, 13, 14, 15, 16
- 1, 1, 1, 1, 1, 1
-
- 06, 07, 08, 09, 10, 11
+ 6, 7, 8, 9, 10, 11
+
+ 06, 07, 08, 09, 10, 11
HGCalHEAirGap, HGCalHEMotherBoard,
HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy,
@@ -1033,7 +1033,7 @@
0, 0, 0, 0, 0, 0, 1, 0
- 7, 4, 5, 4, 6, 4, 3, 2, 1, 0
+ 0, 1, 2, 3, 4, 6, 4, 5, 4, 7
diff --git a/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcalwafer.xml b/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcalwafer.xml
index 2bc793385c46a..5ce9a2ca8962f 100644
--- a/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcalwafer.xml
+++ b/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcalwafer.xml
@@ -26,7 +26,7 @@
-
+
0, 1, 2, 3, 4, 5
0, 0, 0, 0, 0, 0
@@ -75,7 +75,7 @@
-
+
0, 1, 2, 3, 4, 5
1, 1, 1, 1, 1, 1
diff --git a/Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcalwafer.xml b/Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcalwafer.xml
index d1714738a8fed..86e340b6f926b 100644
--- a/Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcalwafer.xml
+++ b/Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcalwafer.xml
@@ -18,7 +18,7 @@
-
+
@@ -30,10 +30,10 @@
HD1, HD2, HD3, HD4, HD5
21, 22, 23, 24, 25
-
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
-
- 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11
+
+ 0, 1, 2, 3, 4, 5
+
+ 00, 01, 02, 03, 04, 05
HGCalEEAirGap, HGCalEEMotherBoard,
HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy,
@@ -49,6 +49,42 @@
0, 0, 0, 0, 0, 0, 0, 1, 0
+ 8, 5, 6, 5, 7, 4, 3, 2, 1, 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HD1, HD2, HD3, HD4, HD5
+
+ 21, 22, 23, 24, 25
+
+ 6, 7, 8, 9, 10, 11
+
+ 06, 07, 08, 09, 10, 11
+
+ HGCalEEAirGap, HGCalEEMotherBoard,
+ HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy,
+ HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive,
+ HGCalEEBasePlate
+
+ materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector,
+ hgcalMaterial:HGC_G10-FR4, materials:Epoxy, materials:Epoxy,
+ materials:Kapton, materials:Silicon, hgcalMaterial:WCu
+
+ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm,
+ [WaferThickness], 1.40*mm
+
+ 0, 0, 0, 0, 0, 0, 0, 1, 0
+
0, 1, 2, 3, 4, 7, 5, 6, 5, 8
@@ -66,10 +102,46 @@
LD1, LD2, LD3, LD4, LD5, LD6
11, 12, 13, 14, 15, 16
-
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
-
- 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11
+
+ 0, 1, 2, 3, 4, 5
+
+ 00, 01, 02, 03, 04, 05
+
+ HGCalEEAirGap, HGCalEEMotherBoard,
+ HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy,
+ HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive,
+ HGCalEEBasePlate
+
+ materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector,
+ hgcalMaterial:HGC_G10-FR4, materials:Epoxy, materials:Epoxy,
+ materials:Kapton, materials:Silicon, hgcalMaterial:WCu
+
+ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm,
+ [WaferThickness], 1.40*mm
+
+ 0, 0, 0, 0, 0, 0, 0, 1, 0
+
+ 8, 5, 6, 5, 7, 4, 3, 2, 1, 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LD1, LD2, LD3, LD4, LD5, LD6
+
+ 11, 12, 13, 14, 15, 16
+
+ 6, 7, 8, 9, 10, 11
+
+ 06, 07, 08, 09, 10, 11
HGCalEEAirGap, HGCalEEMotherBoard,
HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy,
@@ -102,10 +174,46 @@
LD1, LD2, LD3, LD4, LD5, LD6
11, 12, 13, 14, 15, 16
-
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
-
- 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11
+
+ 0, 1, 2, 3, 4, 5
+
+ 00, 01, 02, 03, 04, 05
+
+ HGCalEEAirGap, HGCalEEMotherBoard,
+ HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy,
+ HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive,
+ HGCalEEBasePlate
+
+ materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector,
+ hgcalMaterial:HGC_G10-FR4, materials:Epoxy, materials:Epoxy,
+ materials:Kapton, materials:Silicon, hgcalMaterial:WCu
+
+ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm,
+ [WaferThickness], 1.40*mm
+
+ 0, 0, 0, 0, 0, 0, 0, 1, 0
+
+ 8, 5, 6, 5, 7, 4, 3, 2, 1, 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LD1, LD2, LD3, LD4, LD5, LD6
+
+ 11, 12, 13, 14, 15, 16
+
+ 6, 7, 8, 9, 10, 11
+
+ 06, 07, 08, 09, 10, 11
HGCalEEAirGap, HGCalEEMotherBoard,
HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy,
@@ -156,6 +264,42 @@
[WaferThickness], 1.0*mm
0, 0, 0, 0, 0, 0, 1, 0
+
+ 7, 4, 5, 4, 6, 4, 3, 2, 1, 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HD1, HD2, HD3, HD4, HD5
+
+ 21, 22, 23, 24, 25
+
+ 6, 7, 8, 9, 10, 11
+
+ 06, 07, 08, 09, 10, 11
+
+ HGCalHEAirGap, HGCalHEMotherBoard,
+ HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy,
+ HGCalHEKapton, HGCalHESiliconSensitive,
+ HGCalHEBasePlate
+
+ materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector,
+ hgcalMaterial:HGC_G10-FR4, materials:Epoxy, materials:Kapton,
+ materials:Silicon, hgcalMaterial:HGC_G10-FR4
+
+ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm,
+ [WaferThickness], 1.0*mm
+
+ 0, 0, 0, 0, 0, 0, 1, 0
0, 1, 2, 3, 4, 6, 4, 5, 4, 7
@@ -192,6 +336,42 @@
[WaferThickness], 1.0*mm
0, 0, 0, 0, 0, 0, 1, 0
+
+ 7, 4, 5, 4, 6, 4, 3, 2, 1, 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LD1, LD2, LD3, LD4, LD5, LD6
+
+ 11, 12, 13, 14, 15, 16
+
+ 6, 7, 8, 9, 10, 11
+
+ 06, 07, 08, 09, 10, 11
+
+ HGCalHEAirGap, HGCalHEMotherBoard,
+ HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy,
+ HGCalHEKapton, HGCalHESiliconSensitive,
+ HGCalHEBasePlate
+
+ materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector,
+ hgcalMaterial:HGC_G10-FR4, materials:Epoxy, materials:Kapton,
+ materials:Silicon, hgcalMaterial:HGC_G10-FR4
+
+ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm,
+ [WaferThickness], 1.0*mm
+
+ 0, 0, 0, 0, 0, 0, 1, 0
0, 1, 2, 3, 4, 6, 4, 5, 4, 7
@@ -228,6 +408,42 @@
[WaferThickness], 1.0*mm
0, 0, 0, 0, 0, 0, 1, 0
+
+ 7, 4, 5, 4, 6, 4, 3, 2, 1, 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LD1, LD2, LD3, LD4, LD5, LD6
+
+ 11, 12, 13, 14, 15, 16
+
+ 6, 7, 8, 9, 10, 11
+
+ 06, 07, 08, 09, 10, 11
+
+ HGCalHEAirGap, HGCalHEMotherBoard,
+ HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy,
+ HGCalHEKapton, HGCalHESiliconSensitive,
+ HGCalHEBasePlate
+
+ materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector,
+ hgcalMaterial:HGC_G10-FR4, materials:Epoxy, materials:Kapton,
+ materials:Silicon, hgcalMaterial:HGC_G10-FR4
+
+ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm,
+ [WaferThickness], 1.0*mm
+
+ 0, 0, 0, 0, 0, 0, 1, 0
0, 1, 2, 3, 4, 6, 4, 5, 4, 7
diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalSiliconRotatedModule.cc b/Geometry/HGCalCommonData/plugins/DDHGCalSiliconRotatedModule.cc
index 24d57280fce60..9fe8026193d92 100644
--- a/Geometry/HGCalCommonData/plugins/DDHGCalSiliconRotatedModule.cc
+++ b/Geometry/HGCalCommonData/plugins/DDHGCalSiliconRotatedModule.cc
@@ -60,6 +60,7 @@ class DDHGCalSiliconRotatedModule : public DDAlgorithm {
int waferTypes_; // Number of wafer types
int facingTypes_; // Types of facings of modules toward IP
int orientationTypes_; // Number of wafer orienations
+ int placeOffset_; // Offset for placement
int firstLayer_; // Copy # of the first sensitive layer
int absorbMode_; // Absorber mode
int sensitiveMode_; // Sensitive mode
@@ -109,9 +110,10 @@ void DDHGCalSiliconRotatedModule::initialize(const DDNumericArguments& nArgs,
waferTypes_ = static_cast(nArgs["WaferTypes"]);
facingTypes_ = static_cast(nArgs["FacingTypes"]);
orientationTypes_ = static_cast(nArgs["OrientationTypes"]);
+ placeOffset_ = static_cast(nArgs["PlaceOffset"]);
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << "Number of types of wafers: " << waferTypes_ << " facings: " << facingTypes_
- << " Orientations: " << orientationTypes_;
+ << " Orientations: " << orientationTypes_ << " PlaceOffset: " << placeOffset_;
#endif
firstLayer_ = static_cast(nArgs["FirstLayer"]);
absorbMode_ = static_cast(nArgs["AbsorberMode"]);
@@ -426,12 +428,12 @@ void DDHGCalSiliconRotatedModule::positionSensitive(const DDLogicalPart& glog, i
std::string wafer;
int i(999);
if (part == HGCalTypes::WaferFull) {
- i = type * facingTypes_ * orientationTypes_ + place;
+ i = type * facingTypes_ * orientationTypes_ + place - placeOffset_;
wafer = waferFull_[i];
} else {
int partoffset = (part >= HGCalTypes::WaferHDTop) ? HGCalTypes::WaferPartHDOffset : HGCalTypes::WaferPartLDOffset;
i = (part - partoffset) * facingTypes_ * orientationTypes_ +
- HGCalTypes::WaferTypeOffset[type] * facingTypes_ * orientationTypes_ + place;
+ HGCalTypes::WaferTypeOffset[type] * facingTypes_ * orientationTypes_ + place - placeOffset_;
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << " layertype:type:part:orien:cassette:place:offsets:ind " << layertype << ":"
<< type << ":" << part << ":" << orien << ":" << cassette << ":" << place << ":"
diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalWaferFullRotated.cc b/Geometry/HGCalCommonData/plugins/DDHGCalWaferFullRotated.cc
index 5017f602db904..6cdb3bd312639 100644
--- a/Geometry/HGCalCommonData/plugins/DDHGCalWaferFullRotated.cc
+++ b/Geometry/HGCalCommonData/plugins/DDHGCalWaferFullRotated.cc
@@ -81,7 +81,7 @@ void DDHGCalWaferFullRotated::initialize(const DDNumericArguments& nArgs,
<< " T " << thick_ << " Wafer 2r " << waferSize_ << " Half Separation " << waferSepar_
<< " T " << waferThick_;
#endif
- orient_ = dbl_to_int(vArgs["WaferOrinet"]);
+ orient_ = dbl_to_int(vArgs["WaferOrient"]);
face_ = dbl_to_int(vArgs["WaferFace"]);
tag_ = vsArgs["WaferPlacementIndex"];
layerNames_ = vsArgs["LayerNames"];
diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalWaferPartialRotated.cc b/Geometry/HGCalCommonData/plugins/DDHGCalWaferPartialRotated.cc
index 94aae1d14ce11..48ace76a71c8a 100644
--- a/Geometry/HGCalCommonData/plugins/DDHGCalWaferPartialRotated.cc
+++ b/Geometry/HGCalCommonData/plugins/DDHGCalWaferPartialRotated.cc
@@ -85,7 +85,7 @@ void DDHGCalWaferPartialRotated::initialize(const DDNumericArguments& nArgs,
for (unsigned int k = 0; k < tags_.size(); ++k) {
for (unsigned int m = 0; m < placementIndex_.size(); ++m) {
edm::LogVerbatim("HGCalGeom") << "Type[" << k << "] " << tags_[k] << " Partial " << partialTypes_[k]
- << " Plecement Index " << placementIndex_[m];
+ << " Placement Index " << placementIndex_[m] << " Tag " << placementIndexTags_[m];
}
}
#endif
@@ -211,7 +211,7 @@ void DDHGCalWaferPartialRotated::execute(DDCompactView& cpv) {
edm::LogVerbatim("HGCalGeom") << "[" << j << "] " << xL[j] << ":" << yL[j];
#endif
auto posSense = HGCalCell::cellOrient(placementIndex_[m]);
- double zpos = (posSense.second < 0) ? -0.5 * (waferThick_ - senseT_) : 0.5 * (waferThick_ - senseT_);
+ double zpos = (posSense.second > 0) ? -0.5 * (waferThick_ - senseT_) : 0.5 * (waferThick_ - senseT_);
DDTranslation tran(0, 0, zpos);
int copy = 10 + senseType_;
cpv.position(glog, glogs[i], copy, tran, rot);
diff --git a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalSiliconRotatedModule.cc b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalSiliconRotatedModule.cc
new file mode 100644
index 0000000000000..4ce3b0d3d9e0e
--- /dev/null
+++ b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalSiliconRotatedModule.cc
@@ -0,0 +1,462 @@
+///////////////////////////////////////////////////////////////////////////////
+// File: DDHGCalSiliconRotatedModule.cc
+// Description: Geometry factory class for HGCal (EE and HESil) using
+// information from the file for dd4hep
+///////////////////////////////////////////////////////////////////////////////
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "Geometry/HGCalCommonData/interface/HGCalCell.h"
+#include "Geometry/HGCalCommonData/interface/HGCalCassette.h"
+#include "Geometry/HGCalCommonData/interface/HGCalGeomTools.h"
+#include "Geometry/HGCalCommonData/interface/HGCalParameters.h"
+#include "Geometry/HGCalCommonData/interface/HGCalProperty.h"
+#include "Geometry/HGCalCommonData/interface/HGCalTypes.h"
+#include "Geometry/HGCalCommonData/interface/HGCalWaferIndex.h"
+#include "Geometry/HGCalCommonData/interface/HGCalWaferType.h"
+#include "DD4hep/DetFactoryHelper.h"
+#include "DataFormats/Math/interface/angle_units.h"
+#include "DetectorDescription/DDCMS/interface/DDPlugins.h"
+#include "DetectorDescription/DDCMS/interface/DDutils.h"
+#include "FWCore/MessageLogger/interface/MessageLogger.h"
+
+//#define EDM_ML_DEBUG
+using namespace angle_units::operators;
+
+struct HGCalSiliconRotatedModule {
+ HGCalSiliconRotatedModule() {
+ throw cms::Exception("HGCalGeom") << "Wrong initialization to HGCalSiliconRotatedModule";
+ }
+ HGCalSiliconRotatedModule(cms::DDParsingContext& ctxt, xml_h e) {
+ cms::DDNamespace ns(ctxt, e, true);
+ cms::DDAlgoArguments args(ctxt, e);
+
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: Creating an instance";
+#endif
+ static constexpr double tol1 = 0.01 * dd4hep::mm;
+ static constexpr double tol2 = 0.00001 * dd4hep::mm;
+
+ dd4hep::Volume mother = ns.volume(args.parentName());
+ waferTypes_ = args.value("WaferTypes");
+ facingTypes_ = args.value("FacingTypes");
+ orientationTypes_ = args.value("OrientationTypes");
+ placeOffset_ = args.value("PlaceOffset");
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "Number of types of wafers: " << waferTypes_ << " facings: " << facingTypes_
+ << " Orientations: " << orientationTypes_ << " PlaceOffset: " << placeOffset_;
+#endif
+ firstLayer_ = args.value("FirstLayer");
+ absorbMode_ = args.value("AbsorberMode");
+ sensitiveMode_ = args.value("SensitiveMode");
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "First Layer " << firstLayer_ << " and "
+ << "Absober:Sensitive mode " << absorbMode_ << ":" << sensitiveMode_;
+#endif
+ zMinBlock_ = args.value("zMinBlock");
+ waferSize_ = args.value("waferSize");
+ waferSepar_ = args.value("SensorSeparation");
+ sectors_ = args.value("Sectors");
+ cassettes_ = args.value("Cassettes");
+ alpha_ = (1._pi) / sectors_;
+ cosAlpha_ = cos(alpha_);
+ rotstr_ = args.value("LayerRotation");
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "zStart " << cms::convert2mm(zMinBlock_) << " wafer width "
+ << cms::convert2mm(waferSize_) << " separations " << cms::convert2mm(waferSepar_)
+ << " sectors " << sectors_ << ":" << convertRadToDeg(alpha_) << ":" << cosAlpha_
+ << " rotation matrix " << rotstr_ << cassettes_ << " cassettes";
+#endif
+ waferFull_ = args.value>("WaferNamesFull");
+ waferPart_ = args.value>("WaferNamesPartial");
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: " << waferFull_.size() << " full and "
+ << waferPart_.size() << " partial modules\nDDHGCalSiliconRotatedModule:Full Modules:";
+ unsigned int i1max = static_cast(waferFull_.size());
+ for (unsigned int i1 = 0; i1 < i1max; i1 += 2) {
+ std::ostringstream st1;
+ unsigned int i2 = std::min((i1 + 2), i1max);
+ for (unsigned int i = i1; i < i2; ++i)
+ st1 << " [" << i << "] " << waferFull_[i];
+ edm::LogVerbatim("HGCalGeom") << st1.str();
+ }
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: Partial Modules:";
+ i1max = static_cast(waferPart_.size());
+ for (unsigned int i1 = 0; i1 < i1max; i1 += 2) {
+ std::ostringstream st1;
+ unsigned int i2 = std::min((i1 + 2), i1max);
+ for (unsigned int i = i1; i < i2; ++i)
+ st1 << " [" << i << "] " << waferPart_[i];
+ edm::LogVerbatim("HGCalGeom") << st1.str();
+ }
+#endif
+ materials_ = args.value>("MaterialNames");
+ names_ = args.value>("VolumeNames");
+ thick_ = args.value>("Thickness");
+ copyNumber_.resize(materials_.size(), 1);
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: " << materials_.size() << " types of volumes";
+ for (unsigned int i = 0; i < names_.size(); ++i)
+ edm::LogVerbatim("HGCalGeom") << "Volume [" << i << "] " << names_[i] << " of thickness "
+ << cms::convert2mm(thick_[i]) << " filled with " << materials_[i]
+ << " first copy number " << copyNumber_[i];
+#endif
+ layers_ = args.value>("Layers");
+ layerThick_ = args.value>("LayerThick");
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "There are " << layers_.size() << " blocks";
+ for (unsigned int i = 0; i < layers_.size(); ++i)
+ edm::LogVerbatim("HGCalGeom") << "Block [" << i << "] of thickness " << cms::convert2mm(layerThick_[i])
+ << " with " << layers_[i] << " layers";
+#endif
+ layerType_ = args.value>("LayerType");
+ layerSense_ = args.value>("LayerSense");
+ layerTypes_ = args.value>("LayerTypes");
+#ifdef EDM_ML_DEBUG
+ for (unsigned int i = 0; i < layerTypes_.size(); ++i)
+ edm::LogVerbatim("HGCalGeom") << "LayerTypes [" << i << "] " << layerTypes_[i];
+#endif
+ if (firstLayer_ > 0) {
+ for (unsigned int i = 0; i < layerType_.size(); ++i) {
+ if (layerSense_[i] > 0) {
+ int ii = layerType_[i];
+ copyNumber_[ii] = (layerSense_[i] == 1) ? firstLayer_ : (firstLayer_ + 1);
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "First copy number for layer type " << i << ":" << ii << " with "
+ << materials_[ii] << " changed to " << copyNumber_[ii];
+#endif
+ }
+ }
+ } else {
+ firstLayer_ = 1;
+ }
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "There are " << layerType_.size() << " layers";
+ for (unsigned int i = 0; i < layerType_.size(); ++i)
+ edm::LogVerbatim("HGCalGeom") << "Layer [" << i << "] with material type " << layerType_[i] << " sensitive class "
+ << layerSense_[i];
+#endif
+ slopeB_ = args.value>("SlopeBottom");
+ zFrontB_ = args.value>("ZFrontBottom");
+ rMinFront_ = args.value>("RMinFront");
+ slopeT_ = args.value>("SlopeTop");
+ zFrontT_ = args.value>("ZFrontTop");
+ rMaxFront_ = args.value>("RMaxFront");
+#ifdef EDM_ML_DEBUG
+ for (unsigned int i = 0; i < slopeB_.size(); ++i)
+ edm::LogVerbatim("HGCalGeom") << "Bottom Block [" << i << "] Zmin " << cms::convert2mm(zFrontB_[i]) << " Rmin "
+ << cms::convert2mm(rMinFront_[i]) << " Slope " << slopeB_[i];
+ for (unsigned int i = 0; i < slopeT_.size(); ++i)
+ edm::LogVerbatim("HGCalGeom") << "Top Block [" << i << "] Zmin " << cms::convert2mm(zFrontT_[i]) << " Rmax "
+ << cms::convert2mm(rMaxFront_[i]) << " Slope " << slopeT_[i];
+#endif
+ waferIndex_ = args.value>("WaferIndex");
+ waferProperty_ = args.value>("WaferProperties");
+ waferLayerStart_ = args.value>("WaferLayerStart");
+ cassetteShift_ = args.value>("CassetteShift");
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "waferProperties with " << waferIndex_.size() << " entries in "
+ << waferLayerStart_.size() << " layers";
+ for (unsigned int k = 0; k < waferLayerStart_.size(); ++k)
+ edm::LogVerbatim("HGCalGeom") << "LayerStart[" << k << "] " << waferLayerStart_[k];
+ for (unsigned int k = 0; k < waferIndex_.size(); ++k)
+ edm::LogVerbatim("HGCalGeom") << "Wafer[" << k << "] " << waferIndex_[k] << " ("
+ << HGCalWaferIndex::waferLayer(waferIndex_[k]) << ", "
+ << HGCalWaferIndex::waferU(waferIndex_[k]) << ", "
+ << HGCalWaferIndex::waferV(waferIndex_[k]) << ") : ("
+ << HGCalProperty::waferThick(waferProperty_[k]) << ":"
+ << HGCalProperty::waferPartial(waferProperty_[k]) << ":"
+ << HGCalProperty::waferOrient(waferProperty_[k]) << ")";
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: " << cassetteShift_.size()
+ << " elements for cassette shifts";
+ unsigned int j1max = cassetteShift_.size();
+ for (unsigned int j1 = 0; j1 < j1max; j1 += 6) {
+ std::ostringstream st1;
+ unsigned int j2 = std::min((j1 + 6), j1max);
+ for (unsigned int j = j1; j < j2; ++j)
+ st1 << " [" << j << "] " << std::setw(9) << cassetteShift_[j];
+ edm::LogVerbatim("HGCalGeom") << st1.str();
+ }
+
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: NameSpace " << ns.name();
+#endif
+ cassette_.setParameter(cassettes_, cassetteShift_);
+
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "==>> Constructing DDHGCalSiliconRotatedModule...";
+ copies_.clear();
+#endif
+
+ double zi(zMinBlock_);
+ int laymin(0);
+ for (unsigned int i = 0; i < layers_.size(); ++i) {
+ double zo = zi + layerThick_[i];
+ double routF = HGCalGeomTools::radius(zi, zFrontT_, rMaxFront_, slopeT_);
+ int laymax = laymin + layers_[i];
+ double zz = zi;
+ double thickTot(0);
+ for (int ly = laymin; ly < laymax; ++ly) {
+ int ii = layerType_[ly];
+ int copy = copyNumber_[ii];
+ double hthick = 0.5 * thick_[ii];
+ double rinB = HGCalGeomTools::radius(zo - tol1, zFrontB_, rMinFront_, slopeB_);
+ zz += hthick;
+ thickTot += thick_[ii];
+
+ std::string name = names_[ii] + std::to_string(copy);
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: Layer " << ly << ":" << ii << " Front "
+ << cms::convert2mm(zi) << ", " << cms::convert2mm(routF) << " Back "
+ << cms::convert2mm(zo) << ", " << cms::convert2mm(rinB)
+ << " superlayer thickness " << cms::convert2mm(layerThick_[i]);
+#endif
+
+ dd4hep::Material matter = ns.material(materials_[ii]);
+ dd4hep::Volume glog;
+
+ if (layerSense_[ly] < 1) {
+ std::vector pgonZ, pgonRin, pgonRout;
+ double rmax = routF * cosAlpha_ - tol1;
+ HGCalGeomTools::radius(zz - hthick,
+ zz + hthick,
+ zFrontB_,
+ rMinFront_,
+ slopeB_,
+ zFrontT_,
+ rMaxFront_,
+ slopeT_,
+ -layerSense_[ly],
+ pgonZ,
+ pgonRin,
+ pgonRout);
+ for (unsigned int isec = 0; isec < pgonZ.size(); ++isec) {
+ pgonZ[isec] -= zz;
+ if (layerSense_[ly] == 0 || absorbMode_ == 0)
+ pgonRout[isec] = rmax;
+ else
+ pgonRout[isec] = pgonRout[isec] * cosAlpha_ - tol1;
+ }
+ dd4hep::Solid solid = dd4hep::Polyhedra(sectors_, -alpha_, 2._pi, pgonZ, pgonRin, pgonRout);
+ ns.addSolidNS(ns.prepend(name), solid);
+ glog = dd4hep::Volume(solid.name(), solid, matter);
+ ns.addVolumeNS(glog);
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: " << solid.name() << " polyhedra of "
+ << sectors_ << " sectors covering " << convertRadToDeg(-alpha_) << ":"
+ << convertRadToDeg(-alpha_ + 2._pi) << " with " << pgonZ.size()
+ << " sections and filled with " << matter.name();
+ for (unsigned int k = 0; k < pgonZ.size(); ++k)
+ edm::LogVerbatim("HGCalGeom") << "[" << k << "] z " << cms::convert2mm(pgonZ[k]) << " R "
+ << cms::convert2mm(pgonRin[k]) << ":" << cms::convert2mm(pgonRout[k]);
+#endif
+ } else {
+ double rins =
+ (sensitiveMode_ < 1) ? rinB : HGCalGeomTools::radius(zz + hthick - tol1, zFrontB_, rMinFront_, slopeB_);
+ double routs =
+ (sensitiveMode_ < 1) ? routF : HGCalGeomTools::radius(zz - hthick, zFrontT_, rMaxFront_, slopeT_);
+ dd4hep::Solid solid = dd4hep::Tube(rins, routs, hthick, 0.0, 2._pi);
+ ns.addSolidNS(ns.prepend(name), solid);
+ glog = dd4hep::Volume(solid.name(), solid, matter);
+ ns.addVolumeNS(glog);
+
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: " << solid.name() << " Tubs made of "
+ << matter.name() << " of dimensions " << cms::convert2mm(rinB) << ":"
+ << cms::convert2mm(rins) << ", " << cms::convert2mm(routF) << ":"
+ << cms::convert2mm(routs) << ", " << cms::convert2mm(hthick)
+ << ", 0.0, 360.0 and position " << glog.name() << " number " << copy << ":"
+ << layerTypes_[copy - firstLayer_];
+#endif
+ positionSensitive(ctxt, e, glog, (copy - firstLayer_));
+ }
+
+ dd4hep::Position r1(0, 0, zz);
+ dd4hep::Rotation3D rot;
+#ifdef EDM_ML_DEBUG
+ std::string rotName("Null");
+#endif
+ if ((layerSense_[ly] > 0) && (layerTypes_[copy - firstLayer_] == HGCalTypes::WaferCenteredRotated)) {
+ rot = ns.rotation(rotstr_);
+#ifdef EDM_ML_DEBUG
+ rotName = rotstr_;
+#endif
+ }
+ mother.placeVolume(glog, copy, dd4hep::Transform3D(rot, r1));
+ int inc = ((layerSense_[ly] > 0) && (facingTypes_ > 1)) ? 2 : 1;
+ copyNumber_[ii] = copy + inc;
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: " << glog.name() << " number " << copy
+ << " positioned in " << mother.name() << " at (0,0," << cms::convert2mm(zz)
+ << ") with " << rotName << " rotation";
+#endif
+ zz += hthick;
+ } // End of loop over layers in a block
+ zi = zo;
+ laymin = laymax;
+ // Make consistency check of all the partitions of the block
+ if (std::abs(thickTot - layerThick_[i]) >= tol2) {
+ if (thickTot > layerThick_[i]) {
+ edm::LogError("HGCalGeom") << "Thickness of the partition " << cms::convert2mm(layerThick_[i])
+ << " is smaller than " << cms::convert2mm(thickTot)
+ << ": thickness of all its components **** ERROR ****";
+ } else {
+ edm::LogWarning("HGCalGeom") << "Thickness of the partition " << cms::convert2mm(layerThick_[i])
+ << " does not match with " << cms::convert2mm(thickTot) << " of the components";
+ }
+ }
+ } // End of loop over blocks
+
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: " << copies_.size()
+ << " different wafer copy numbers";
+ int k(0);
+ for (std::unordered_set::const_iterator itr = copies_.begin(); itr != copies_.end(); ++itr, ++k) {
+ edm::LogVerbatim("HGCalGeom") << "Copy [" << k << "] : " << (*itr);
+ }
+ copies_.clear();
+ edm::LogVerbatim("HGCalGeom") << "<<== End of DDHGCalSiliconRotatedModule construction...";
+#endif
+ }
+
+ void positionSensitive(cms::DDParsingContext& ctxt, xml_h e, const dd4hep::Volume& glog, int layer) {
+ cms::DDNamespace ns(ctxt, e, true);
+ static const double sqrt3 = std::sqrt(3.0);
+ int layercenter = (layerTypes_[layer] == HGCalTypes::CornerCenteredLambda)
+ ? HGCalTypes::CornerCenterYp
+ : ((layerTypes_[layer] == HGCalTypes::CornerCenteredY) ? HGCalTypes::CornerCenterYm
+ : HGCalTypes::WaferCenter);
+ int layertype = (layerTypes_[layer] == HGCalTypes::WaferCenteredBack) ? 1 : 0;
+ int firstWafer = waferLayerStart_[layer];
+ int lastWafer = ((layer + 1 < static_cast(waferLayerStart_.size())) ? waferLayerStart_[layer + 1]
+ : static_cast(waferIndex_.size()));
+ double r = 0.5 * (waferSize_ + waferSepar_);
+ double R = 2.0 * r / sqrt3;
+ double dy = 0.75 * R;
+ const auto& xyoff = geomTools_.shiftXY(layercenter, (waferSize_ + waferSepar_));
+#ifdef EDM_ML_DEBUG
+ int ium(0), ivm(0), kount(0);
+ std::vector ntype(3, 0);
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: " << glog.name() << " r " << cms::convert2mm(r)
+ << " R " << cms::convert2mm(R) << " dy " << cms::convert2mm(dy) << " Shift "
+ << cms::convert2mm(xyoff.first) << ":" << cms::convert2mm(xyoff.second)
+ << " WaferSize " << cms::convert2mm((waferSize_ + waferSepar_)) << " index "
+ << firstWafer << ":" << (lastWafer - 1);
+#endif
+ for (int k = firstWafer; k < lastWafer; ++k) {
+ int u = HGCalWaferIndex::waferU(waferIndex_[k]);
+ int v = HGCalWaferIndex::waferV(waferIndex_[k]);
+#ifdef EDM_ML_DEBUG
+ int iu = std::abs(u);
+ int iv = std::abs(v);
+#endif
+ int nr = 2 * v;
+ int nc = -2 * u + v;
+ int type = HGCalProperty::waferThick(waferProperty_[k]);
+ int part = HGCalProperty::waferPartial(waferProperty_[k]);
+ int orien = HGCalProperty::waferOrient(waferProperty_[k]);
+ int cassette = HGCalProperty::waferCassette(waferProperty_[k]);
+ int place = HGCalCell::cellPlacementIndex(1, layertype, orien);
+ auto cshift = cassette_.getShift(layer, 1, cassette);
+ double xpos = xyoff.first + cshift.first + nc * r;
+ double ypos = xyoff.second + cshift.second + nr * dy;
+ std::string wafer;
+ int i(999);
+ if (part == HGCalTypes::WaferFull) {
+ i = type * facingTypes_ * orientationTypes_ + place - placeOffset_;
+ wafer = waferFull_[i];
+ } else {
+ int partoffset =
+ (part >= HGCalTypes::WaferHDTop) ? HGCalTypes::WaferPartHDOffset : HGCalTypes::WaferPartLDOffset;
+ i = (part - partoffset) * facingTypes_ * orientationTypes_ +
+ HGCalTypes::WaferTypeOffset[type] * facingTypes_ * orientationTypes_ + place - placeOffset_;
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << " layertype:type:part:orien:cassette:place:offsets:ind " << layertype << ":"
+ << type << ":" << part << ":" << orien << ":" << cassette << ":" << place << ":"
+ << partoffset << ":" << HGCalTypes::WaferTypeOffset[type] << ":" << i << ":"
+ << waferPart_.size();
+#endif
+ wafer = waferPart_[i];
+ }
+ int copy = HGCalTypes::packTypeUV(type, u, v);
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << " DDHGCalSiliconRotatedModule: Layer"
+ << HGCalWaferIndex::waferLayer(waferIndex_[k]) << " Wafer " << wafer << " number "
+ << copy << " type:part:orien:ind " << type << ":" << part << ":" << orien << ":"
+ << i << " layer:u:v:indx " << (layer + firstLayer_) << ":" << u << ":" << v;
+ if (iu > ium)
+ ium = iu;
+ if (iv > ivm)
+ ivm = iv;
+ kount++;
+ if (copies_.count(copy) == 0)
+ copies_.insert(copy);
+#endif
+ dd4hep::Position tran(xpos, ypos, 0.0);
+ glog.placeVolume(ns.volume(wafer), copy, tran);
+#ifdef EDM_ML_DEBUG
+ ++ntype[type];
+ edm::LogVerbatim("HGCalGeom") << " DDHGCalSiliconRotatedModule: " << wafer << " number " << copy << " type "
+ << layertype << ":" << type << " positioned in " << glog.name() << " at ("
+ << cms::convert2mm(xpos) << "," << cms::convert2mm(ypos) << ",0) with no rotation";
+#endif
+ }
+
+#ifdef EDM_ML_DEBUG
+ edm::LogVerbatim("HGCalGeom") << "DDHGCalSiliconRotatedModule: Maximum # of u " << ium << " # of v " << ivm
+ << " and " << kount << " wafers (" << ntype[0] << ":" << ntype[1] << ":" << ntype[2]
+ << ") for " << glog.name();
+#endif
+ }
+
+ //Required data members to cache the values from XML file
+ HGCalGeomTools geomTools_;
+ HGCalCassette cassette_;
+
+ int waferTypes_; // Number of wafer types
+ int facingTypes_; // Types of facings of modules toward IP
+ int orientationTypes_; // Number of wafer orienations
+ int placeOffset_; // Offset for placement
+ int firstLayer_; // Copy # of the first sensitive layer
+ int absorbMode_; // Absorber mode
+ int sensitiveMode_; // Sensitive mode
+ double zMinBlock_; // Starting z-value of the block
+ double waferSize_; // Width of the wafer
+ double waferSepar_; // Sensor separation
+ int sectors_; // Sectors
+ int cassettes_; // Cassettes
+ std::string rotstr_; // Rotation matrix (if needed)
+ std::vector waferFull_; // Names of full wafer modules
+ std::vector waferPart_; // Names of partial wafer modules
+ std::vector materials_; // names of materials
+ std::vector names_; // Names of volumes
+ std::vector thick_; // Thickness of the material
+ std::vector copyNumber_; // Initial copy numbers
+ std::vector layers_; // Number of layers in a section
+ std::vector layerThick_; // Thickness of each section
+ std::vector layerType_; // Type of the layer
+ std::vector layerSense_; // Content of a layer (sensitive?)
+ std::vector slopeB_; // Slope at the lower R
+ std::vector zFrontB_; // Starting Z values for the slopes
+ std::vector rMinFront_; // Corresponding rMin's
+ std::vector slopeT_; // Slopes at the larger R
+ std::vector zFrontT_; // Starting Z values for the slopes
+ std::vector rMaxFront_; // Corresponding rMax's
+ std::vector layerTypes_; // Layer type (Centering, rotations..)
+ std::vector waferIndex_; // Wafer index for the types
+ std::vector waferProperty_; // Wafer property
+ std::vector waferLayerStart_; // Index of wafers in each layer
+ std::vector cassetteShift_; // Shifts of the cassetes
+ std::unordered_set copies_; // List of copy #'s
+ double alpha_, cosAlpha_;
+};
+
+static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext& ctxt, xml_h e) {
+ HGCalSiliconRotatedModule eealgo(ctxt, e);
+ return cms::s_executed;
+}
+
+DECLARE_DDCMS_DETELEMENT(DDCMS_hgcal_DDHGCalSiliconRotatedModule, algorithm)
diff --git a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferFullRotated.cc b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferFullRotated.cc
index 7df7a7bf4c79a..9263958e34be8 100644
--- a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferFullRotated.cc
+++ b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferFullRotated.cc
@@ -34,7 +34,7 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext
<< " T " << thick << " Wafer 2r " << waferSize << " Half Separation " << waferSepar
<< " T " << waferThick;
#endif
- const auto& orient = args.value >("WaferOrinet");
+ const auto& orient = args.value >("WaferOrient");
const auto& face = args.value >("WaferFace");
const auto& tag = args.value >("WaferPlacementIndex");
const auto& layerNames = args.value >("LayerNames");
diff --git a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferPartialRotated.cc b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferPartialRotated.cc
index 2365c5654d463..db394e4b4559e 100644
--- a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferPartialRotated.cc
+++ b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferPartialRotated.cc
@@ -44,7 +44,7 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext
for (unsigned int k = 0; k < tags.size(); ++k) {
for (unsigned int m = 0; m < placementIndex.size(); ++m) {
edm::LogVerbatim("HGCalGeom") << "Type[" << k << "] " << tags[k] << " Partial " << partialTypes[k]
- << " Plecement Index " << placementIndex[m];
+ << " Placement Index " << placementIndex[m] << " Tag " << placementIndexTags[m];
}
}
#endif
@@ -172,7 +172,7 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext
<< "[" << j << "] " << cms::convert2mm(xL[j]) << ":" << cms::convert2mm(yL[j]);
#endif
auto posSense = HGCalCell::cellOrient(placementIndex[m]);
- double zpos = (posSense.second < 0) ? -0.5 * (waferThick - senseT) : 0.5 * (waferThick - senseT);
+ double zpos = (posSense.second > 0) ? -0.5 * (waferThick - senseT) : 0.5 * (waferThick - senseT);
dd4hep::Position tran(0, 0, zpos);
int copy = 10 + senseType;
glogs[i].placeVolume(glog, copy, tran);
diff --git a/Geometry/HGCalCommonData/python/testHGCalHEsilV17XML_cfi.py b/Geometry/HGCalCommonData/python/testHGCalHEsilV17XML_cfi.py
new file mode 100644
index 0000000000000..800154e632edb
--- /dev/null
+++ b/Geometry/HGCalCommonData/python/testHGCalHEsilV17XML_cfi.py
@@ -0,0 +1,22 @@
+import FWCore.ParameterSet.Config as cms
+
+XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource",
+ geomXMLFiles = cms.vstring(
+ 'Geometry/CMSCommonData/data/materials/2021/v1/materials.xml',
+ 'Geometry/CMSCommonData/data/rotations.xml',
+ 'Geometry/CMSCommonData/data/extend/v2/cmsextent.xml',
+ 'Geometry/CMSCommonData/data/cavernData/2021/v1/cavernData.xml',
+ 'Geometry/CMSCommonData/data/cms/2026/v5/cms.xml',
+ 'Geometry/CMSCommonData/data/eta3/etaMax.xml',
+ 'Geometry/CMSCommonData/data/cmsMother.xml',
+ 'Geometry/CMSCommonData/data/caloBase/2026/v6/caloBase.xml',
+ 'Geometry/CMSCommonData/data/cmsCalo.xml',
+ 'Geometry/HGCalCommonData/data/hgcalMaterial/v2/hgcalMaterial.xml',
+ 'Geometry/HGCalCommonData/data/hgcal/v17/hgcal.xml',
+ 'Geometry/HGCalCommonData/data/hgcalcell/v17/hgcalcell.xml',
+ 'Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcalwafer.xml',
+ 'Geometry/HGCalCommonData/data/hgcalHEsil/v17/hgcalHEsil.xml',
+ 'Geometry/CMSCommonData/data/FieldParameters.xml',
+ ),
+ rootNodeName = cms.string('cms:OCMS')
+)
diff --git a/Geometry/HGCalCommonData/test/python/dumpHGCalEEV17DD4hep_cfg.py b/Geometry/HGCalCommonData/test/python/dumpHGCalEEV17DD4hep_cfg.py
new file mode 100644
index 0000000000000..061d41106e900
--- /dev/null
+++ b/Geometry/HGCalCommonData/test/python/dumpHGCalEEV17DD4hep_cfg.py
@@ -0,0 +1,25 @@
+import FWCore.ParameterSet.Config as cms
+
+process = cms.Process("DDHGCalEETest")
+
+process.load('FWCore.MessageService.MessageLogger_cfi')
+process.source = cms.Source("EmptySource")
+process.maxEvents = cms.untracked.PSet(
+ input = cms.untracked.int32(1)
+ )
+
+process.MessageLogger.cerr.FwkReport.reportEvery = 5
+if hasattr(process,'MessageLogger'):
+ process.MessageLogger.HGCalGeom=dict()
+
+process.DDDetectorESProducer = cms.ESSource("DDDetectorESProducer",
+ confGeomXMLFiles = cms.FileInPath('Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalEEV17-algorithm.xml'),
+ appendToDataLabel = cms.string('DDHGCalEE')
+ )
+
+process.testDump = cms.EDAnalyzer("DDTestDumpFile",
+ outputFileName = cms.untracked.string('hgcalEEV17DD4hep.root'),
+ DDDetector = cms.ESInputTag('','DDHGCalEE')
+ )
+
+process.p = cms.Path(process.testDump)
diff --git a/Geometry/HGCalCommonData/test/python/dumpHGCalHEsilV17DD4hep_cfg.py b/Geometry/HGCalCommonData/test/python/dumpHGCalHEsilV17DD4hep_cfg.py
new file mode 100644
index 0000000000000..2a0ce62506449
--- /dev/null
+++ b/Geometry/HGCalCommonData/test/python/dumpHGCalHEsilV17DD4hep_cfg.py
@@ -0,0 +1,25 @@
+import FWCore.ParameterSet.Config as cms
+
+process = cms.Process("DDHGCalHEsilV17Test")
+
+process.load('FWCore.MessageService.MessageLogger_cfi')
+process.source = cms.Source("EmptySource")
+process.maxEvents = cms.untracked.PSet(
+ input = cms.untracked.int32(1)
+ )
+
+process.MessageLogger.cerr.FwkReport.reportEvery = 5
+if hasattr(process,'MessageLogger'):
+ process.MessageLogger.HGCalGeom=dict()
+
+process.DDDetectorESProducer = cms.ESSource("DDDetectorESProducer",
+ confGeomXMLFiles = cms.FileInPath('Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalHEsilV17-algorithm.xml'),
+ appendToDataLabel = cms.string('DDHGCalHEsilV17')
+ )
+
+process.testDump = cms.EDAnalyzer("DDTestDumpFile",
+ outputFileName = cms.untracked.string('hgcalHEsilV17DD4hep.root'),
+ DDDetector = cms.ESInputTag('','DDHGCalHEsilV17')
+ )
+
+process.p = cms.Path(process.testDump)
diff --git a/Geometry/HGCalCommonData/test/python/dumpHGCalHEsilV17DDD_cfg.py b/Geometry/HGCalCommonData/test/python/dumpHGCalHEsilV17DDD_cfg.py
new file mode 100644
index 0000000000000..cf2f201c808f5
--- /dev/null
+++ b/Geometry/HGCalCommonData/test/python/dumpHGCalHEsilV17DDD_cfg.py
@@ -0,0 +1,28 @@
+import FWCore.ParameterSet.Config as cms
+
+process = cms.Process("DUMP")
+process.load("Geometry.HGCalCommonData.testHGCalHEsilV17XML_cfi")
+process.load('FWCore.MessageService.MessageLogger_cfi')
+
+if 'MessageLogger' in process.__dict__:
+ process.MessageLogger.G4cerr=dict()
+ process.MessageLogger.G4cout=dict()
+ process.MessageLogger.HGCalGeom=dict()
+# process.MessageLogger.TGeoMgrFromDdd=dict()
+
+process.source = cms.Source("EmptySource")
+
+process.maxEvents = cms.untracked.PSet(
+ input = cms.untracked.int32(1)
+)
+
+process.add_(cms.ESProducer("TGeoMgrFromDdd",
+ verbose = cms.untracked.bool(False),
+ level = cms.untracked.int32(14)
+))
+
+
+process.dump = cms.EDAnalyzer("DumpSimGeometry",
+ outputFileName = cms.untracked.string('hgcalHEsilV17DDD.root'))
+
+process.p = cms.Path(process.dump)