From 558dce77905901e2e9fed72e8c23280a225924e5 Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Mon, 25 Nov 2019 16:15:38 +0100 Subject: [PATCH 01/15] Add scenario D51, move materials out of etl.xml --- Configuration/Geometry/README.md | 2 + .../Geometry/python/dict2026Geometry.py | 29 + Geometry/MTDCommonData/data/etl/v4/etl.xml | 2839 +++++++++++++++++ .../data/mtdMaterial/v2/mtdMaterial.xml | 187 ++ 4 files changed, 3057 insertions(+) create mode 100644 Geometry/MTDCommonData/data/etl/v4/etl.xml create mode 100644 Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml diff --git a/Configuration/Geometry/README.md b/Configuration/Geometry/README.md index d8c4a70fe1a53..1285d15242412 100644 --- a/Configuration/Geometry/README.md +++ b/Configuration/Geometry/README.md @@ -29,6 +29,7 @@ Fast Timing system: * I9: Same as I7 but with ETL in the position defined in O3 * I10: Same as I9 w/ material adjustments * I11: Same as I10, xml reorganized, comparison base for new ETL and DD4hep migration +* I12: Starting from I11, new ETL layout from MTD TDR The script also handles the common and forward elements of the geometry: * O2: detailed cavern description @@ -50,5 +51,6 @@ Several detector combinations have been generated: * D50 = T15+C9+M4+I11+O4+F2 * D51 = T17+C9+M4+I10+O4+F2 * D52 = T18+C9+M4+I10+O4+F2 +* D53 = T15+C9+M4+I12+O4+F2 D35 is the MTD TDR baseline, D41 is the L1T TDR baseline, and D49 is the HLT TDR baseline. diff --git a/Configuration/Geometry/python/dict2026Geometry.py b/Configuration/Geometry/python/dict2026Geometry.py index 5944c209d23de..a4448d7b9f3fc 100644 --- a/Configuration/Geometry/python/dict2026Geometry.py +++ b/Configuration/Geometry/python/dict2026Geometry.py @@ -1072,6 +1072,34 @@ ], "era" : "phase2_timing, phase2_timing_layer", }, + "I12" : { + 1 : [ + 'Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml', + 'Geometry/MTDCommonData/data/btl/v1/btl.xml', + 'Geometry/MTDCommonData/data/btl/v1/btlStructureTopology.xml', + 'Geometry/MTDCommonData/data/etl/v4/etl.xml', + 'Geometry/MTDCommonData/data/mtdParameters/v1/mtdParameters.xml', + ], + 3 : [ + 'Geometry/MTDSimData/data/v1/mtdsens.xml' + ], + 4 : [ + 'Geometry/MTDSimData/data/v1/mtdProdCuts.xml' + ], + "sim" : [ + 'from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cfi import *', + ], + "reco" :[ + 'from RecoMTD.DetLayers.mtdDetLayerGeometry_cfi import *', + 'from Geometry.MTDGeometryBuilder.mtdParameters_cfi import *', + 'from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cfi import *', + 'from Geometry.MTDNumberingBuilder.mtdTopology_cfi import *', + 'from Geometry.MTDGeometryBuilder.mtdGeometry_cfi import *', + 'from Geometry.MTDGeometryBuilder.idealForDigiMTDGeometry_cff import *', + 'mtdGeometry.applyAlignment = cms.bool(False)' + ], + "era" : "phase2_timing, phase2_timing_layer", + }, } allDicts = [ commonDict, trackerDict, caloDict, muonDict, forwardDict, timingDict ] @@ -1089,6 +1117,7 @@ ("O4","T15","C9","M4","F2","I11") : "D50", ("O4","T17","C9","M4","F2","I10") : "D51", ("O4","T18","C9","M4","F2","I10") : "D52", + ("O4","T15","C9","M4","F2","I12") : "D53", } deprecatedDets = set([ "D1", "D2", "D3", "D5", "D6" , "D7", "D4", "D8" , "D9", "D12", "D13", "D15", "D10", "D11", "D14", "D16", "D17", "D18", "D19", "D20", "D21", "D22", "D23", "D24", "D25", "D26", "D27", "D28", "D29", "D30", "D31", "D32", "D33", "D34", "D36", "D37", "D38", "D39", "D40", "D42" ]) diff --git a/Geometry/MTDCommonData/data/etl/v4/etl.xml b/Geometry/MTDCommonData/data/etl/v4/etl.xml new file mode 100644 index 0000000000000..8bee89fd20119 --- /dev/null +++ b/Geometry/MTDCommonData/data/etl/v4/etl.xml @@ -0,0 +1,2839 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -122.7*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122.7+[DeltaX_ServiceModule])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122.7+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+3*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122.7+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + + + + + + + + + + (-122.7+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+5*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122.7+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+7*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122.7+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+9*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122.7+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + + + + + + + + + + (-122.7+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+11*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122.7+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+13*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122.7+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+15*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122.7+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+17*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + + + + + + + + + + + (-122.7+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + + + + + + + + + + + (-122.7+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+19*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + + + + + + + + + + + (-122.7+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (6.5275+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + + + + + + + + + + + (-122.7+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + (-122.7+21*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+4*[SensorModuledy]+4*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + (-122.7+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, 0.*cm + + + + + + + + + + + (-122.7+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY]+[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0.*cm + + + + + + + + + + + (-122.7+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + (-122.7+23*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+6*[SensorModuledy]+6*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + (-122.7+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm + + + + + + + + + + + (-122.7+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + + + + + + + + + + + (-122.7+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + (-122.7+25*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + (-122.7+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + + + + + + + + + + + (-122.7+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + + + + + + + + + + + (-122.7+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + (-122.7+27*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + (-122.7+28*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm + + + + + + + + + + + (-122.7+28*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm + + + + + + + + + + + + + + -122*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+[DeltaX_ServiceModule])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122+[DeltaX_ServiceModule])*cm, (13.055+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm + + + + + + + + + + + (-122+2*[DeltaX_ServiceModule])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122.7+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122+4*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0*cm + + + + + + + + + + + (-122+6*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122+8*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm + + + + + + + + + + + (-122+10*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm + + + + + + + + + + + (-122+12*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122+14*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122+16*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + (-122+18*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 6.5275*cm, 0*cm + + + + + + + + + + + (-122+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + + + + + + + + + + + (-122+20*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + + + + + + + + + + (-122+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+[SensorModuledy]+[DeltaY])*cm, 0.178*cm + + + + + + + + + + + (-122+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY])*cm, 0*cm + + + + + + + + + + + (-122+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY]+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + + + + + + + + + + + (-122+22*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, ( 2.155+4*[SensorModuledy]+4*[DeltaY])*cm, 0.178*cm + + + + + + + + + + + (-122+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + + + + + + + + + + + (-122+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0*cm + + + + + + + + + + + (-122+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + + + + + + + + + + (-122+24*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + + + + + + + + + + + (-122+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + + + + + + + + + + + (-122+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + + + + + + + + + + + (-122+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + + + + + + + + + + (-122+26*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + + + + + + + + + + + (-122+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + + + + + + + + + + + (-122+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm + + + + + + + + + + + (-122+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+10*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + + + + + + + + + + (-122+28*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + + + + + + + + + + + + + + -13.055*cm, 122.7*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122.7-[DeltaX_ServiceModule])*cm, -0.178*cm + + + + + + + + + + + -2.155*cm, (122.7-[DeltaX_ServiceModule]-[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -13.055*cm, (122.7-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122.7-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -2.155*cm, (122.7-3*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -13.055*cm, (122.7-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(13.055+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, (122.7-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122.7-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -2.155*cm, (122.7-5*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -13.055*cm, (122.7-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122.7-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -2.155*cm, (122.7-7*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -13.055*cm, (122.7-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122.7-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -2.155*cm, (122.7-9*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -13.055*cm, (122.7-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(13.055+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, (122.7-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122.7-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -2.155*cm, (122.7-11*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -13.055*cm, (122.7-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122.7-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -2.155*cm, (122.7-13*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -13.055*cm, (122.7-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122.7-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -2.155*cm, (122.7-15*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -13.055*cm, (122.7-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122.7-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -2.155*cm, (122.7-17*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -6.5275*cm, (122.7-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, (122.7-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122.7-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -2.155*cm, (122.7-19*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -6.5275*cm, (122.7-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(6.5275+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, (122.7-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122.7-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -(2.155+4*[SensorModuledy]+4*[DeltaY])*cm, (122.7-21*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -(2.155+5*[SensorModuledy]+5*[DeltaY])*cm, (122.7-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(2.155+5*[SensorModuledy]+5*[DeltaY]+[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, (122.7-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(2.155+5*[SensorModuledy]+5*[DeltaY])*cm, (122.7-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -(2.155+6*[SensorModuledy]+6*[DeltaY])*cm, (122.7-23*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -(2.155+7*[SensorModuledy]+7*[DeltaY])*cm, (122.7-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(2.155+7*[SensorModuledy]+7*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, (122.7-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(2.155+7*[SensorModuledy]+7*[DeltaY])*cm, (122.7-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -(2.155+7*[SensorModuledy]+7*[DeltaY])*cm, (122.7-25*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -(2.155+8*[SensorModuledy]+8*[DeltaY])*cm, (122.7-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, 0*cm + + + + + + + + + + + -(2.155+8*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, (122.7-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(2.155+8*[SensorModuledy]+8*[DeltaY])*cm, (122.7-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -(2.155+8*[SensorModuledy]+8*[DeltaY])*cm, (122.7-27*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, -0.178*cm + + + + + + + + + + + -(2.155+9*[SensorModuledy]+9*[DeltaY])*cm, (122.7-28*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, 0*cm + + + + + + + + + + + -(2.155+9*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, (122.7-28*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, 0*cm + + + + + + + + + + + + + + + -2.155*cm, 122*cm, 0.178*cm + + + + + + + + + + + -13.055*cm, (122-[DeltaX_ServiceModule])*cm, 0.*cm + + + + + + + + + + + -(13.055+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, (122-[DeltaX_ServiceModule])*cm, 0*cm + + + + + + + + + + + -2.155*cm, (122-2*[DeltaX_ServiceModule])*cm, 0.178*cm + + + + + + + + + + + -2.155*cm, (122-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -13.055*cm, (122-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122-4*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -2.155*cm, (122-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -13.055*cm, (122-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(13.055+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, (122-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 0*cm + + + + + + + + + + + -2.155*cm, (122-6*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -2.155*cm, (122-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -13.055*cm, (122-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122-8*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -2.155*cm, (122-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -13.055*cm, (122-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, (122-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 0*cm + + + + + + + + + + + -2.155*cm, (122-10*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -2.155*cm, (122-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -13.055*cm, (122-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, (122-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 0*cm + + + + + + + + + + + -2.155*cm, (122-12*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -2.155*cm, (122-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -13.055*cm, (122-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122-14*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -2.155*cm, (122-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -13.055*cm, (122-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122-16*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -2.155*cm, (122-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -13.055*cm, (122-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122-18*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -2.155*cm, (122-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -6.5275*cm, (122-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 0*cm + + + + + + + + + + + -(6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, (122-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -2.155*cm, (122-20*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -(2.155+[SensorModuledy]+[DeltaY])*cm, (122-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -(2.155+2*[SensorModuledy]+2*[DeltaY])*cm, (122-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 0*cm + + + + + + + + + + + -(2.155+2*[SensorModuledy]+2*[DeltaY]+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, (122-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(2.155+4*[SensorModuledy]+4*[DeltaY])*cm, (122-22*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -(2.155+6*[SensorModuledy]+6*[DeltaY])*cm, (122-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -(2.155+7*[SensorModuledy]+7*[DeltaY])*cm, (122-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, 0*cm + + + + + + + + + + + -(2.155+7*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, (122-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(2.155+6*[SensorModuledy]+6*[DeltaY])*cm, (122-24*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -(2.155+7*[SensorModuledy]+7*[DeltaY])*cm, (122-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -(2.155+8*[SensorModuledy]+8*[DeltaY])*cm, (122-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, 0*cm + + + + + + + + + + + -(2.155+8*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, (122-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(2.155+7*[SensorModuledy]+7*[DeltaY])*cm, (122-26*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -(2.155+8*[SensorModuledy]+8*[DeltaY])*cm, (122-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, 0.178*cm + + + + + + + + + + + -(2.155+9*[SensorModuledy]+9*[DeltaY])*cm, (122-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, 0*cm + + + + + + + + + + + -(2.155+9*[SensorModuledy]+10*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, (122-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, 0.*cm + + + + + + + + + + + -(2.155+8*[SensorModuledy]+8*[DeltaY])*cm, (122-28*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, 0.178*cm + + + + + diff --git a/Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml b/Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml new file mode 100644 index 0000000000000..b55f1026ee871 --- /dev/null +++ b/Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From cd637073a22177259f956c8d66828ca7038a18f6 Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Tue, 10 Dec 2019 15:02:38 +0100 Subject: [PATCH 02/15] TDR ETL design with DDMTDLinear algorithm (by F. Siviero), first test implementation, add corresponding sensitive volumes --- .../Geometry/python/dict2026Geometry.py | 4 +- Geometry/MTDCommonData/data/etl/v4/etl.xml | 2453 ++++++++--------- .../data/mtdMaterial/v2/mtdMaterial.xml | 23 + Geometry/MTDCommonData/plugins/BuildFile.xml | 15 + Geometry/MTDCommonData/plugins/DDMTDLinear.cc | 111 + Geometry/MTDSimData/data/v2/mtdProdCuts.xml | 28 + Geometry/MTDSimData/data/v2/mtdsens.xml | 22 + 7 files changed, 1395 insertions(+), 1261 deletions(-) create mode 100644 Geometry/MTDCommonData/plugins/BuildFile.xml create mode 100644 Geometry/MTDCommonData/plugins/DDMTDLinear.cc create mode 100644 Geometry/MTDSimData/data/v2/mtdProdCuts.xml create mode 100644 Geometry/MTDSimData/data/v2/mtdsens.xml diff --git a/Configuration/Geometry/python/dict2026Geometry.py b/Configuration/Geometry/python/dict2026Geometry.py index a4448d7b9f3fc..1a41905995cff 100644 --- a/Configuration/Geometry/python/dict2026Geometry.py +++ b/Configuration/Geometry/python/dict2026Geometry.py @@ -1081,10 +1081,10 @@ 'Geometry/MTDCommonData/data/mtdParameters/v1/mtdParameters.xml', ], 3 : [ - 'Geometry/MTDSimData/data/v1/mtdsens.xml' + 'Geometry/MTDSimData/data/v2/mtdsens.xml' ], 4 : [ - 'Geometry/MTDSimData/data/v1/mtdProdCuts.xml' + 'Geometry/MTDSimData/data/v2/mtdProdCuts.xml' ], "sim" : [ 'from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cfi import *', diff --git a/Geometry/MTDCommonData/data/etl/v4/etl.xml b/Geometry/MTDCommonData/data/etl/v4/etl.xml index 8bee89fd20119..1ce33076b063c 100644 --- a/Geometry/MTDCommonData/data/etl/v4/etl.xml +++ b/Geometry/MTDCommonData/data/etl/v4/etl.xml @@ -4,8 +4,8 @@ - - + + @@ -27,10 +27,10 @@ - + - + @@ -42,23 +42,20 @@ + - - - - + + + + + - - - - - @@ -67,19 +64,8 @@ - - - - - - - - - - - @@ -93,6 +79,10 @@ + + + + @@ -107,32 +97,44 @@ - + - - + + + - - + + - - + + + - - + + + + + + + + + + + + @@ -141,25 +143,11 @@ - - - - - - - - - - - - - - - - + + - + @@ -193,69 +181,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + - - - - - + - + @@ -269,49 +219,49 @@ - + - + - + - + - + - + - + - + - + @@ -327,49 +277,49 @@ - + - + - + - + - + - + - + - + - + @@ -386,24 +336,23 @@ - + - + - + - + - @@ -414,15 +363,58 @@ - - - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -436,24 +428,23 @@ - + - + - + - + - @@ -465,2375 +456,2319 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + - - + + - - + + - - - - - - + + + + + + - - + + + + + + + - -122.7*cm, 13.055*cm, 0.*cm + -122.0875*cm, 13.055*cm, 0.*cm - - + + - (-122.7+[DeltaX_ServiceModule])*cm, 2.155*cm, -0.178*cm - + (-122.0875+[DeltaX_ServiceModule])*cm, 2.155*cm, -0.178*cm + - - - + + + - (-122.7+[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - + + - + - (-122.7+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.0875+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122.7+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + - + - (-122.7+3*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+3*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - + + - + - (-122.7+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.0875+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - (-122.7+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (-122.0875+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - - + + - + - (-122.7+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + - + - (-122.7+5*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+5*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - + + - + - (-122.7+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.0875+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122.7+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + - + - (-122.7+7*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+7*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - + + - + - (-122.7+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.0875+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122.7+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + - + - (-122.7+9*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+9*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - + + - + - (-122.7+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.0875+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122.7+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (-122.0875+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - - + + - + - (-122.7+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + - + - (-122.7+11*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+11*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - + + - + - (-122.7+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.0875+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122.7+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + - + - (-122.7+13*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+13*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - + + - + - (-122.7+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.0875+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122.7+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + - + - (-122.7+15*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+15*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - + + - + - (-122.7+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.0875+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122.7+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + - + - (-122.7+17*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+17*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - + + - + - (-122.7+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + (-122.0875+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 6.5275*cm, 0.*cm - - + + - + - (-122.7+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (-122.0875+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - - + + - + - (-122.7+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + - + - (-122.7+19*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+19*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - + + - + - (-122.7+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + (-122.0875+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 6.5275*cm, 0.*cm - - + + - + - (-122.7+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (6.5275+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + (-122.0875+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (6.5275+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm - - + + - + - (-122.7+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-122.0875+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + - + - (-122.7+21*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+4*[SensorModuledy]+4*[DeltaY])*cm, -0.178*cm + (-122.0875+21*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+4*[SensorModuledy]+4*[DeltaY])*cm, -0.178*cm - - + + - + - (-122.7+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, 0.*cm + (-122.0875+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, 0.*cm - - + + - + - (-122.7+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY]+[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0.*cm + (-122.0875+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY]+[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0.*cm - - + + - + - (-122.7+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, -0.178*cm + (-122.0875+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, -0.178*cm - - - + + + - + - (-122.7+23*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+6*[SensorModuledy]+6*[DeltaY])*cm, -0.178*cm + (-122.0875+23*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+6*[SensorModuledy]+6*[DeltaY])*cm, -0.178*cm - - + + - + - (-122.7+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm + (-122.0875+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm - - + + - + - (-122.7+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (-122.0875+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - - + + - + - (-122.7+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + (-122.0875+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm - - - + + + - + - (-122.7+25*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + (-122.0875+25*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm - - + + - + - (-122.7+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + (-122.0875+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm - - + + - + - (-122.7+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (-122.0875+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - - + + - + - (-122.7+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + (-122.0875+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm - - - + + + - + - (-122.7+27*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + (-122.0875+27*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm - - + + - + - (-122.7+28*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm + (-122.0875+28*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm - - + + - + - (-122.7+28*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm + (-122.0875+28*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm - - - - + + + + - -122*cm, 2.155*cm, 0.178*cm + -122.12*cm, 2.155*cm, 0.178*cm - - + + - (-122+[DeltaX_ServiceModule])*cm, 13.055*cm, 0.*cm + (-122.12+[DeltaX_ServiceModule])*cm, 13.055*cm, 0.*cm - - + + - (-122+[DeltaX_ServiceModule])*cm, (13.055+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm + (-122.12+[DeltaX_ServiceModule])*cm, (13.055+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm - - + + - (-122+2*[DeltaX_ServiceModule])*cm, 2.155*cm, 0.178*cm + (-122.12+2*[DeltaX_ServiceModule])*cm, 2.155*cm, 0.178*cm - - - + + + - + - (-122+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - + + - + - (-122.7+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.12+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122+4*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+4*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - + + + - + - (-122+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - + + - + - (-122+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.12+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0*cm + (-122.12+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0*cm - - + + - + - (-122+6*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+6*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - + + + - + - (-122+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - + + - + - (-122+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.12+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122+8*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+8*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - + + + - + - (-122+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - + + - + - (-122+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.12+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm + (-122.12+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm - - + + - + - (-122+10*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+10*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - + + + - + - (-122+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - + + - + - (-122+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.12+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm + (-122.12+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm - - + + - + - (-122+12*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+12*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - + + + - + - (-122+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - + + - + - (-122+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.12+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122+14*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+14*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - + + + - + - (-122+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - + + - + - (-122+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.12+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122+16*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+16*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - + + + - + - (-122+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - + + - + - (-122+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-122.12+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - + + - + - (-122+18*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+18*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - + + + - + - (-122+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - + + - + - (-122+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 6.5275*cm, 0*cm + (-122.12+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 6.5275*cm, 0*cm - - + + - + - (-122+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (-122.12+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - - + + - + - (-122+20*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-122.12+20*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - + + + - + - (-122+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+[SensorModuledy]+[DeltaY])*cm, 0.178*cm + (-122.12+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+[SensorModuledy]+[DeltaY])*cm, 0.178*cm - - + + - + - (-122+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY])*cm, 0*cm + (-122.12+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY])*cm, 0*cm - - + + - + - (-122+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY]+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + (-122.12+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY]+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm - - + + - + - (-122+22*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, ( 2.155+4*[SensorModuledy]+4*[DeltaY])*cm, 0.178*cm + (-122.12+22*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, ( 2.155+4*[SensorModuledy]+4*[DeltaY])*cm, 0.178*cm - - - + + + - + - (-122+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + (-122.12+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm - - + + - + - (-122+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0*cm + (-122.12+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0*cm - - + + - + - (-122+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (-122.12+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - - + + - + - (-122+24*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + (-122.12+24*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm - - - + + + - + - (-122+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + (-122.12+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm - - + + - + - (-122+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + (-122.12+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm - - + + - + - (-122+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (-122.12+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - - + + - + - (-122+26*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + (-122.12+26*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm - - - + + + - + - (-122+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + (-122.12+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm - - + + - + - (-122+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm + (-122.12+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm - - + + - + - (-122+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+10*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (-122.12+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+10*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - - + + - + - (-122+28*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + (-122.12+28*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm - - - - + + + + - -13.055*cm, 122.7*cm, 0.*cm + 122.0875*cm, 13.055*cm, 0.*cm - + - - - + + + - -2.155*cm, (122.7-[DeltaX_ServiceModule])*cm, -0.178*cm - - + (122.0875-[DeltaX_ServiceModule])*cm, 2.155*cm, -0.178*cm + + - - - + + + - -2.155*cm, (122.7-[DeltaX_ServiceModule]-[SensorModuledx])*cm, -0.178*cm + (122.0875-[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -13.055*cm, (122.7-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 0.*cm + (122.0875-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122.7-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, -0.178*cm + (122.0875-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -2.155*cm, (122.7-3*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, -0.178*cm + (122.0875-3*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -13.055*cm, (122.7-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 0.*cm + (122.0875-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - -(13.055+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, (122.7-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 0.*cm + (122.0875-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122.7-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, -0.178*cm + (122.0875-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -2.155*cm, (122.7-5*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, -0.178*cm + (122.0875-5*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -13.055*cm, (122.7-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 0.*cm + (122.0875-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122.7-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, -0.178*cm + (122.0875-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -2.155*cm, (122.7-7*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, -0.178*cm + (122.0875-7*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -13.055*cm, (122.7-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 0.*cm + (122.0875-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122.7-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, -0.178*cm + (122.0875-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -2.155*cm, (122.7-9*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, -0.178*cm + (122.0875-9*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -13.055*cm, (122.7-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 0.*cm + (122.0875-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -(13.055+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, (122.7-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 0.*cm + (122.0875-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122.7-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, -0.178*cm + (122.0875-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -2.155*cm, (122.7-11*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, -0.178*cm + (122.0875-11*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -13.055*cm, (122.7-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 0.*cm + (122.0875-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122.7-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, -0.178*cm + (122.0875-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -2.155*cm, (122.7-13*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, -0.178*cm + (122.0875-13*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -13.055*cm, (122.7-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 0.*cm + (122.0875-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122.7-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, -0.178*cm + (122.0875-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -2.155*cm, (122.7-15*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, -0.178*cm + (122.0875-15*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -13.055*cm, (122.7-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 0.*cm + (122.0875-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122.7-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, -0.178*cm + (122.0875-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -2.155*cm, (122.7-17*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, -0.178*cm + (122.0875-17*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -6.5275*cm, (122.7-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 0.*cm + (122.0875-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 6.5275*cm, 0.*cm - + - - - + + + - + - -(6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, (122.7-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 0.*cm + (122.0875-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122.7-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, -0.178*cm + (122.0875-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -2.155*cm, (122.7-19*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, -0.178*cm + (122.0875-19*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -6.5275*cm, (122.7-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 0.*cm + (122.0875-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 6.5275*cm, 0.*cm - + - - - + + + - + - -(6.5275+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, (122.7-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 0.*cm + (122.0875-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (6.5275+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122.7-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, -0.178*cm + (122.0875-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - + - - - + + + - + - -(2.155+4*[SensorModuledy]+4*[DeltaY])*cm, (122.7-21*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, -0.178*cm + (122.0875-21*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+4*[SensorModuledy]+4*[DeltaY])*cm, -0.178*cm - + - - - + + + - + - -(2.155+5*[SensorModuledy]+5*[DeltaY])*cm, (122.7-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, 0.*cm + (122.0875-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, 0.*cm - + - - - + + + - + - -(2.155+5*[SensorModuledy]+5*[DeltaY]+[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, (122.7-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, 0.*cm + (122.0875-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY]+[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0.*cm - + - - - + + + - + - -(2.155+5*[SensorModuledy]+5*[DeltaY])*cm, (122.7-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, -0.178*cm + (122.0875-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, -0.178*cm - + - - - + + + - + - -(2.155+6*[SensorModuledy]+6*[DeltaY])*cm, (122.7-23*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, -0.178*cm + (122.0875-23*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+6*[SensorModuledy]+6*[DeltaY])*cm, -0.178*cm - + - - - + + + - + - -(2.155+7*[SensorModuledy]+7*[DeltaY])*cm, (122.7-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, 0.*cm + (122.0875-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm - + - - - + + + - + - -(2.155+7*[SensorModuledy]+7*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, (122.7-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, 0.*cm + (122.0875-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - + - - - + + + - + - -(2.155+7*[SensorModuledy]+7*[DeltaY])*cm, (122.7-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, -0.178*cm + (122.0875-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm - + - - - + + + - + - -(2.155+7*[SensorModuledy]+7*[DeltaY])*cm, (122.7-25*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, -0.178*cm + (122.0875-25*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm - + - - - + + + - + - -(2.155+8*[SensorModuledy]+8*[DeltaY])*cm, (122.7-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, 0*cm + (122.0875-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm - + - - - + + + - + - -(2.155+8*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, (122.7-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, 0.*cm + (122.0875-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - + - - - + + + - + - -(2.155+8*[SensorModuledy]+8*[DeltaY])*cm, (122.7-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, -0.178*cm + (122.0875-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm - + - - - + + + - + - -(2.155+8*[SensorModuledy]+8*[DeltaY])*cm, (122.7-27*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, -0.178*cm + (122.0875-27*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm - + - - - + + + - + - -(2.155+9*[SensorModuledy]+9*[DeltaY])*cm, (122.7-28*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, 0*cm + (122.0875-28*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm - + - - - + + + - + - -(2.155+9*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, (122.7-28*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, 0*cm + (122.0875-28*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm - + - - - - - + + + + - -2.155*cm, 122*cm, 0.178*cm + 122.12*cm, 2.155*cm, 0.178*cm - + - - - + + + - -13.055*cm, (122-[DeltaX_ServiceModule])*cm, 0.*cm + (122.12-[DeltaX_ServiceModule])*cm, 13.055*cm, 0.*cm - + - - - + + + - -(13.055+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, (122-[DeltaX_ServiceModule])*cm, 0*cm + (122.12-[DeltaX_ServiceModule])*cm, (13.055+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm - + - - - + + + - -2.155*cm, (122-2*[DeltaX_ServiceModule])*cm, 0.178*cm + (122.12-2*[DeltaX_ServiceModule])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -2.155*cm, (122-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 0.178*cm + (122.12-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -13.055*cm, (122-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 0.*cm + (122.12-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122-4*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 0.178*cm + (122.12-4*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -2.155*cm, (122-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 0.178*cm + (122.12-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -13.055*cm, (122-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 0.*cm + (122.12-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -(13.055+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, (122-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 0*cm + (122.12-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0*cm - + - - - + + + - + - -2.155*cm, (122-6*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 0.178*cm + (122.12-6*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -2.155*cm, (122-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 0.178*cm + (122.12-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -13.055*cm, (122-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 0.*cm + (122.12-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122-8*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 0.178*cm + (122.12-8*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -2.155*cm, (122-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 0.178*cm + (122.12-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -13.055*cm, (122-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 0.*cm + (122.12-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -(13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, (122-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 0*cm + (122.12-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm - + - - - + + + - + - -2.155*cm, (122-10*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 0.178*cm + (122.12-10*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -2.155*cm, (122-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 0.178*cm + (122.12-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -13.055*cm, (122-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 0.*cm + (122.12-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -(13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, (122-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 0*cm + (122.12-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm - + - - - + + + - + - -2.155*cm, (122-12*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 0.178*cm + (122.12-12*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -2.155*cm, (122-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 0.178*cm + (122.12-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -13.055*cm, (122-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 0.*cm + (122.12-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122-14*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 0.178*cm + (122.12-14*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -2.155*cm, (122-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 0.178*cm + (122.12-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -13.055*cm, (122-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 0.*cm + (122.12-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122-16*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 0.178*cm + (122.12-16*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -2.155*cm, (122-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 0.178*cm + (122.12-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -13.055*cm, (122-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 0.*cm + (122.12-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 13.055*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122-18*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 0.178*cm + (122.12-18*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -2.155*cm, (122-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 0.178*cm + (122.12-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -6.5275*cm, (122-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 0*cm + (122.12-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 6.5275*cm, 0*cm - + - - - + + + - + - -(6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, (122-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 0.*cm + (122.12-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - + - - - + + + - + - -2.155*cm, (122-20*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 0.178*cm + (122.12-20*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - + - - - + + + - + - -(2.155+[SensorModuledy]+[DeltaY])*cm, (122-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 0.178*cm + (122.12-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.155+[SensorModuledy]+[DeltaY])*cm, 0.178*cm - + - - - + + + - + - -(2.155+2*[SensorModuledy]+2*[DeltaY])*cm, (122-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 0*cm + (122.12-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY])*cm, 0*cm - + - - - + + + - + - -(2.155+2*[SensorModuledy]+2*[DeltaY]+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, (122-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 0.*cm + (122.12-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY]+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm - + - - - + + + - + - -(2.155+4*[SensorModuledy]+4*[DeltaY])*cm, (122-22*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 0.178*cm + (122.12-22*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, ( 2.155+4*[SensorModuledy]+4*[DeltaY])*cm, 0.178*cm - + - - - + + + - + - -(2.155+6*[SensorModuledy]+6*[DeltaY])*cm, (122-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, 0.178*cm + (122.12-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm - + - - - + + + - + - -(2.155+7*[SensorModuledy]+7*[DeltaY])*cm, (122-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, 0*cm + (122.12-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0*cm - + - - - + + + - + - -(2.155+7*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, (122-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, 0.*cm + (122.12-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - + - - - + + + - + - -(2.155+6*[SensorModuledy]+6*[DeltaY])*cm, (122-24*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, 0.178*cm + (122.12-24*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm - + - - - + + + - + - -(2.155+7*[SensorModuledy]+7*[DeltaY])*cm, (122-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, 0.178*cm + (122.12-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm - + - - - + + + - + - -(2.155+8*[SensorModuledy]+8*[DeltaY])*cm, (122-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, 0*cm + (122.12-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm - + - - - + + + - + - -(2.155+8*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, (122-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, 0.*cm + (122.12-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - + - - - + + + - + - -(2.155+7*[SensorModuledy]+7*[DeltaY])*cm, (122-26*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, 0.178*cm + (122.12-26*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm - + - - - + + + - + - -(2.155+8*[SensorModuledy]+8*[DeltaY])*cm, (122-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, 0.178*cm + (122.12-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm - + - - - + + + - + - -(2.155+9*[SensorModuledy]+9*[DeltaY])*cm, (122-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, 0*cm + (122.12-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm - + - - - + + + - + - -(2.155+9*[SensorModuledy]+10*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, (122-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, 0.*cm + (122.12-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+10*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - + - - - + + + - + - -(2.155+8*[SensorModuledy]+8*[DeltaY])*cm, (122-28*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, 0.178*cm + (122.12-28*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm - + diff --git a/Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml b/Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml index b55f1026ee871..a1d9959960f5f 100644 --- a/Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml +++ b/Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml @@ -182,6 +182,29 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MTDCommonData/plugins/BuildFile.xml b/Geometry/MTDCommonData/plugins/BuildFile.xml new file mode 100644 index 0000000000000..cb9e5f6b4f370 --- /dev/null +++ b/Geometry/MTDCommonData/plugins/BuildFile.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/Geometry/MTDCommonData/plugins/DDMTDLinear.cc b/Geometry/MTDCommonData/plugins/DDMTDLinear.cc new file mode 100644 index 0000000000000..cd382ed44824c --- /dev/null +++ b/Geometry/MTDCommonData/plugins/DDMTDLinear.cc @@ -0,0 +1,111 @@ +#include "DetectorDescription/Core/interface/DDAlgorithm.h" +#include "DetectorDescription/Core/interface/DDAlgorithmFactory.h" +#include "DetectorDescription/Core/interface/DDCompactView.h" +#include "DetectorDescription/Core/interface/DDCurrentNamespace.h" +#include "DetectorDescription/Core/interface/DDLogicalPart.h" +#include "DetectorDescription/Core/interface/DDName.h" +#include "DetectorDescription/Core/interface/DDRotationMatrix.h" +#include "DetectorDescription/Core/interface/DDSplit.h" +#include "DetectorDescription/Core/interface/DDTransform.h" +#include "DetectorDescription/Core/interface/DDTranslation.h" +#include "DetectorDescription/Core/interface/DDTypes.h" +#include "DataFormats/Math/interface/GeantUnits.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/PluginManager/interface/PluginFactory.h" + +#include +#include + +using namespace geant_units::operators; + +class DDMTDLinear : public DDAlgorithm { +public: + DDMTDLinear() : m_n(1), m_startCopyNo(1), m_incrCopyNo(1), m_theta(0.), m_phi(0.), m_delta(0.) {} + + void initialize(const DDNumericArguments& nArgs, + const DDVectorArguments& vArgs, + const DDMapArguments& mArgs, + const DDStringArguments& sArgs, + const DDStringVectorArguments& vsArgs) override; + + void execute(DDCompactView& cpv) override; + +private: + int m_n; //Number of copies + int m_startCopyNo; //Start Copy number + int m_incrCopyNo; //Increment in Copy number + double m_theta; //Theta + double m_phi; //Phi dir[Theta,Phi] ... unit-std::vector in direction Theta, Phi + double m_delta; //Delta - distance between two subsequent positions along dir[Theta,Phi] + std::vector m_base; //Base values - a 3d-point where the offset is calculated from + //base is optional, if omitted base=(0,0,0) + std::pair m_childNmNs; //Child name + //Namespace of the child +}; + +void DDMTDLinear::initialize(const DDNumericArguments& nArgs, + const DDVectorArguments& vArgs, + const DDMapArguments&, + const DDStringArguments& sArgs, + const DDStringVectorArguments&) { + m_n = int(nArgs["N"]); + m_startCopyNo = int(nArgs["StartCopyNo"]); + m_incrCopyNo = int(nArgs["IncrCopyNo"]); + m_theta = nArgs["Theta"]; + m_phi = nArgs["Phi"]; + m_delta = nArgs["Delta"]; + m_base = vArgs["Base"]; + + LogDebug("DDAlgorithm") << "DDMTDLinear: Parameters for position" + << "ing:: n " << m_n << " Direction Theta, Phi, Offset, Delta " << convertRadToDeg(m_theta) + << " " << convertRadToDeg(m_phi) << " " + << " " << convertRadToDeg(m_delta) << " Base " << m_base[0] << ", " << m_base[1] << ", " + << m_base[2]; + + m_childNmNs = DDSplit(sArgs["ChildName"]); + if (m_childNmNs.second.empty()) + m_childNmNs.second = DDCurrentNamespace::ns(); + + DDName parentName = parent().name(); + LogDebug("DDAlgorithm") << "DDMTDLinear: Parent " << parentName << "\tChild " << m_childNmNs.first << " NameSpace " + << m_childNmNs.second; +} + +void DDMTDLinear::execute(DDCompactView& cpv) { + DDName mother = parent().name(); + DDName ddname(m_childNmNs.first, m_childNmNs.second); + int copy = m_startCopyNo; + + DDTranslation direction(sin(m_theta) * cos(m_phi), sin(m_theta) * sin(m_phi), cos(m_theta)); + + DDTranslation basetr(m_base[0], m_base[1], m_base[2]); + + double thetaZ=0; //rotation is in xy plane + double phiZ=0; //m_phi; //double phiZ=0; + double thetaX=1.57; + double thetaY=1.57; + double phiX=0; //m_phi; + double phiY=0+1.57; //m_phi+1.57; //phi+TMath::Pi()/2 Rad o Deg????????????????????? + + //std::make_unique rotationMatrix=DDcreateRotationMatrix(thetaX, phiX, thetaY, phiY, thetaZ, phiZ); + //DDRotation rotation = DDRotation("IdentityRotation"); + DDRotation rotation = DDRotation("Rotation"); + + + if (!rotation) { + LogDebug("DDAlgorithm") << "DDMTDLinear: Creating a new " + << "rotation: IdentityRotation for " << ddname; + + rotation = DDrot( "Rotation", DDcreateRotationMatrix(thetaX, phiX, thetaY, phiY, thetaZ, phiZ)); //rotation = DDrot("IdentityRotation", std::make_unique()); + } + + for (int i = 0; i < m_n; ++i) { + DDTranslation tran = basetr + (i * m_delta) * direction; //basetr + (double(copy) * m_delta) * direction; + cpv.position(ddname, mother, copy, tran, rotation); //cpv.position(ddname, mother, copy, tran, rotation); + LogDebug("DDAlgorithm") << "DDMTDLinear: " << m_childNmNs.second << ":" << m_childNmNs.first << " number " << copy + << " positioned in " << mother << " at " << tran << " with " << rotation; + copy += m_incrCopyNo; + } +} + +DEFINE_EDM_PLUGIN(DDAlgorithmFactory, DDMTDLinear, "global:DDMTDLinear"); diff --git a/Geometry/MTDSimData/data/v2/mtdProdCuts.xml b/Geometry/MTDSimData/data/v2/mtdProdCuts.xml new file mode 100644 index 0000000000000..2f81b2c6da5d3 --- /dev/null +++ b/Geometry/MTDSimData/data/v2/mtdProdCuts.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MTDSimData/data/v2/mtdsens.xml b/Geometry/MTDSimData/data/v2/mtdsens.xml new file mode 100644 index 0000000000000..3cb2a2f8291c9 --- /dev/null +++ b/Geometry/MTDSimData/data/v2/mtdsens.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + From 5b15a306ad83bbd6ff2ed1801115bf9fd1354b35 Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Fri, 13 Dec 2019 10:35:52 +0100 Subject: [PATCH 03/15] Update DDMTDLinear, adapt xmsl, update of numbering scheme based on hierarchy --- Geometry/MTDCommonData/data/etl/v4/etl.xml | 2690 ++++++++++------- Geometry/MTDCommonData/plugins/DDMTDLinear.cc | 32 +- .../MTDCommonData/src/ETLNumberingScheme.cc | 31 +- 3 files changed, 1604 insertions(+), 1149 deletions(-) diff --git a/Geometry/MTDCommonData/data/etl/v4/etl.xml b/Geometry/MTDCommonData/data/etl/v4/etl.xml index 1ce33076b063c..75b5fc18172ee 100644 --- a/Geometry/MTDCommonData/data/etl/v4/etl.xml +++ b/Geometry/MTDCommonData/data/etl/v4/etl.xml @@ -2,13 +2,13 @@ - - - + + + - + @@ -100,23 +100,23 @@ - - - - - - - + + + - + + + + + @@ -135,6 +135,7 @@ + @@ -165,9 +166,17 @@ + + + + + + + + @@ -202,7 +211,7 @@ - + @@ -217,30 +226,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - + @@ -265,6 +251,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -274,6 +284,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -299,30 +333,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -396,17 +406,17 @@ - + - + - + @@ -493,12 +503,12 @@ - + - + @@ -516,2259 +526,2679 @@ - + - + + + + + + + -120.325*cm, 2.155*cm, 0.178*cm + + + + + + + - + - -122.0875*cm, 13.055*cm, 0.*cm - + (-120.325+[DeltaX_ServiceModule])*cm, 13.055*cm, 0.*cm + + + - - - - + + + + + + + (-120.325+[DeltaX_ServiceModule])*cm, (13.055+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm + + + + + + + + + + - (-122.0875+[DeltaX_ServiceModule])*cm, 2.155*cm, -0.178*cm + (-120.325+2*[DeltaX_ServiceModule])*cm, 2.155*cm, 0.178*cm + + - - - - + + + + - (-122.0875+[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.0875+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-120.325+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - - + + - + - (-122.0875+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+4*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - - - + + + + - (-122.0875+3*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.0875+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-120.325+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - - + + - + - (-122.0875+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (-120.325+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0*cm + + - - + + - + - (-122.0875+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+6*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - - - + + + + - (-122.0875+5*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.0875+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-120.325+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - - + + - + - (-122.0875+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+8*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - - - + + + + - (-122.0875+7*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.0875+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-120.325+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - - - - + + + + + + + (-120.325+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm + + + + + + + + + + - (-122.0875+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+10*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.0875+9*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.0875+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-120.325+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - + - + - (-122.0875+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (-120.325+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm + + - - + + - + - (-122.0875+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+12*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - - - + + + + - (-122.0875+11*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.0875+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-120.325+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - - - - + + + + - (-122.0875+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+14*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.0875+13*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.0875+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-120.325+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - - + + - + - (-122.0875+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+16*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.0875+15*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.0875+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-120.325+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - - + + - + - (-122.0875+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+18*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.0875+17*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - - (-122.0875+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + + (-120.325+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 6.5275*cm, 0*cm + + - + - + - (-122.0875+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (-120.325+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + + - - + + - + - (-122.0875+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+20*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.0875+19*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+[SensorModuledy]+[DeltaY])*cm, 0.178*cm + + - + - + - (-122.0875+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + (-120.325+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY])*cm, 0*cm + + - + - + - (-122.0875+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (6.5275+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + (-120.325+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY]+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + + - - - - + + + + - (-122.0875+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-120.325+22*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, ( 2.155+4*[SensorModuledy]+4*[DeltaY])*cm, 0.178*cm + + - - - - + + + + - (-122.0875+21*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+4*[SensorModuledy]+4*[DeltaY])*cm, -0.178*cm + (-120.325+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + + - + - - + + - (-122.0875+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, 0.*cm + (-120.325+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0*cm + + - + - + - (-122.0875+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY]+[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0.*cm + (-120.325+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + - - - - + + + + - (-122.0875+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, -0.178*cm + (-120.325+24*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + + - - + + - + - (-122.0875+23*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+6*[SensorModuledy]+6*[DeltaY])*cm, -0.178*cm + (-120.325+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + + - + - + - (-122.0875+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm + (-120.325+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + + - + - + - (-122.0875+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (-120.325+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + - - - - + + + + - (-122.0875+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + (-120.325+26*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + + - - + + - + - (-122.0875+25*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + (-120.325+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + + - + - + - (-122.0875+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + (-120.325+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm + + - + - + - (-122.0875+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - - - - - - - - - - - (-122.0875+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + (-120.325+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+10*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + - - + + - + - (-122.0875+27*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + (-120.325+28*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + + - - - - - - - - (-122.0875+28*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm - - + + + + + + + + + + + + + + -122.0*cm, 13.055*cm, 0.*cm + + + + + + + + + + + + + (-122.0+[DeltaX_ServiceModule])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + + + (-122.0+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+3*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + + + (-122.0+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + + + + + + + + + + + + (-122.0+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+5*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + - - - - - - (-122.0875+28*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm - - + + + + + + (-122.0+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + + + (-122.0+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+7*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + + + (-122.0+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+9*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + + + (-122.0+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + + + + + + + + + + + + (-122.0+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+11*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + + + (-122.0+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+13*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + + + (-122.0+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+15*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + + + + + + + + + + + + (-122.0+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+17*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + + + + + + + + + + + + + (-122.0+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + + + + + + + + + + + + + (-122.0+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+19*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + + + + + + + + + + + + + (-122.0+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (6.5275+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + + + + + + + + + + + + + (-122.0+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+21*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+4*[SensorModuledy]+4*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, 0.*cm + + + + + + + + + + + + + (-122.0+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY]+[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0.*cm + + + + + + + + + + + + + (-122.0+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+23*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+6*[SensorModuledy]+6*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm + + + + + + + + + + + + + (-122.0+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + + + + + + + + + + + + + (-122.0+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+25*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + + + + + + + + + + + + + (-122.0+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + + + + + + + + + + + + + (-122.0+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+27*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + + + (-122.0+28*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm + + + + + + + + + + + + + (-122.0+28*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm + + + + - + + + + - - + + - + - -122.12*cm, 2.155*cm, 0.178*cm + 120.325*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.12+[DeltaX_ServiceModule])*cm, 13.055*cm, 0.*cm + (120.325-[DeltaX_ServiceModule])*cm, 13.055*cm, 0.*cm + + - + - + - (-122.12+[DeltaX_ServiceModule])*cm, (13.055+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm + (120.325-[DeltaX_ServiceModule])*cm, (13.055+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm + + - - + + - + - (-122.12+2*[DeltaX_ServiceModule])*cm, 2.155*cm, 0.178*cm + (120.325-2*[DeltaX_ServiceModule])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.12+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.12+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.055*cm, 0.*cm + (120.325-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - - + + - + - (-122.12+4*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-4*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.12+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.12+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (120.325-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - + - + - (-122.12+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0*cm + (120.325-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0*cm + + - - + + - + - (-122.12+6*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-6*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.12+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.12+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (120.325-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - - + + - + - (-122.12+8*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-8*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.12+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.12+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (120.325-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - + - + - (-122.12+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm + (120.325-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm + + - - + + - + - (-122.12+10*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-10*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.12+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.12+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (120.325-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - + - + - (-122.12+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm + (120.325-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm + + - - + + - + - (-122.12+12*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-12*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.12+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.12+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (120.325-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - - + + - + - (-122.12+14*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-14*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.12+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.12+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (120.325-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - - + + - + - (-122.12+16*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-16*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.12+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.12+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (120.325-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - - + + - + - (-122.12+18*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-18*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.12+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - + - + - (-122.12+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 6.5275*cm, 0*cm + (120.325-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 6.5275*cm, 0*cm + + - + - + - (-122.12+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (120.325-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + + - - + + - + - (-122.12+20*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (120.325-20*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + - - + + - + - (-122.12+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+[SensorModuledy]+[DeltaY])*cm, 0.178*cm + (120.325-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.155+[SensorModuledy]+[DeltaY])*cm, 0.178*cm + + - + - + - (-122.12+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY])*cm, 0*cm + (120.325-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY])*cm, 0*cm + + - + - + - (-122.12+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY]+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + (120.325-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY]+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + + - - + + - + - (-122.12+22*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, ( 2.155+4*[SensorModuledy]+4*[DeltaY])*cm, 0.178*cm + (120.325-22*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, ( 2.155+4*[SensorModuledy]+4*[DeltaY])*cm, 0.178*cm + + - - + + - + - (-122.12+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + (120.325-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + + - + - + - (-122.12+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0*cm + (120.325-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0*cm + + - + - + - (-122.12+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (120.325-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + - - + + - + - (-122.12+24*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + (120.325-24*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + + - - + + - + - (-122.12+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + (120.325-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + + - + - + - (-122.12+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + (120.325-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + + - + - + - (-122.12+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (120.325-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + - - + + - + - (-122.12+26*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + (120.325-26*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + + - - + + - + - (-122.12+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + (120.325-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + + - + - + - (-122.12+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm + (120.325-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm + + - + - + - (-122.12+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+10*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (120.325-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+10*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + - - + + - + - (-122.12+28*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + (120.325-28*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + + - + + + + - + - 122.0875*cm, 13.055*cm, 0.*cm + 122.0*cm, 13.055*cm, 0.*cm + + - + - (122.0875-[DeltaX_ServiceModule])*cm, 2.155*cm, -0.178*cm + (122.0-[DeltaX_ServiceModule])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 13.055*cm, 0.*cm + (122.0-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - + - (122.0875-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-3*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-3*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (122.0-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - + - (122.0875-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (122.0-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + - + - (122.0875-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-5*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-5*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (122.0-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - + - (122.0875-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-7*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-7*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (122.0-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - + - (122.0875-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-9*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-9*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (122.0-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - + - (122.0875-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (122.0-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + - + - (122.0875-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-11*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-11*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (122.0-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - + - (122.0875-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-13*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-13*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (122.0-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - + - (122.0875-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-15*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-15*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (122.0-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + - + - (122.0875-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-17*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-17*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + (122.0-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + + - + - (122.0875-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (122.0-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + + - + - (122.0875-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-19*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-19*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + (122.0-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + + - + - (122.0875-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (6.5275+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + (122.0-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (6.5275+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + + - + - (122.0875-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (122.0-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + + - + - (122.0875-21*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+4*[SensorModuledy]+4*[DeltaY])*cm, -0.178*cm + (122.0-21*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+4*[SensorModuledy]+4*[DeltaY])*cm, -0.178*cm + + - + - (122.0875-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, 0.*cm + (122.0-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, 0.*cm + + - + - (122.0875-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY]+[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0.*cm + (122.0-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY]+[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0.*cm + + - + - (122.0875-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, -0.178*cm + (122.0-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, -0.178*cm + + - + - (122.0875-23*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+6*[SensorModuledy]+6*[DeltaY])*cm, -0.178*cm + (122.0-23*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+6*[SensorModuledy]+6*[DeltaY])*cm, -0.178*cm + + - + - (122.0875-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm + (122.0-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm + + - + - (122.0875-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (122.0-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + + - + - (122.0875-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + (122.0-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + + - + - (122.0875-25*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + (122.0-25*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + + - + - (122.0875-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + (122.0-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + + - + - (122.0875-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (122.0-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + + - + - (122.0875-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + (122.0-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + + - + - (122.0875-27*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + (122.0-27*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + + - + - (122.0875-28*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm + (122.0-28*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm + + - + - (122.0875-28*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm + (122.0-28*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm + + - - - - - - - - - 122.12*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-[DeltaX_ServiceModule])*cm, 13.055*cm, 0.*cm - - - - - - - - - - - (122.12-[DeltaX_ServiceModule])*cm, (13.055+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm - - - - - - - - - - - (122.12-2*[DeltaX_ServiceModule])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - - - - - - - - - (122.12-4*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - - - - - - - - - (122.12-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0*cm - - - - - - - - - - - (122.12-6*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - - - - - - - - - (122.12-8*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - - - - - - - - - (122.12-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm - - - - - - - - - - - (122.12-10*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - - - - - - - - - (122.12-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm - - - - - - - - - - - (122.12-12*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - - - - - - - - - (122.12-14*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - - - - - - - - - (122.12-16*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - - - - - - - - - (122.12-18*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 6.5275*cm, 0*cm - - - - - - - - - - - (122.12-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - - - - - - - - - - - (122.12-20*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - (122.12-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.155+[SensorModuledy]+[DeltaY])*cm, 0.178*cm - - - - - - - - - - - (122.12-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY])*cm, 0*cm - - - - - - - - - - - (122.12-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY]+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm - - - - - - - - - - - (122.12-22*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, ( 2.155+4*[SensorModuledy]+4*[DeltaY])*cm, 0.178*cm - - - - - - - - - - - (122.12-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm - - - - - - - - - - - (122.12-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0*cm - - - - - - - - - - - (122.12-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - - - - - - - - - - - (122.12-24*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm - - - - - - - - - - - (122.12-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm - - - - - - - - - - - (122.12-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm - - - - - - - - - - - (122.12-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - - - - - - - - - - - (122.12-26*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm - - - - - - - - - - - (122.12-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm - - - - - - - - - - - (122.12-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm - - - - - - - - - - - (122.12-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+10*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - - - - - - - - - - - (122.12-28*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm - - - + diff --git a/Geometry/MTDCommonData/plugins/DDMTDLinear.cc b/Geometry/MTDCommonData/plugins/DDMTDLinear.cc index cd382ed44824c..2e4c1d3b45de9 100644 --- a/Geometry/MTDCommonData/plugins/DDMTDLinear.cc +++ b/Geometry/MTDCommonData/plugins/DDMTDLinear.cc @@ -10,6 +10,7 @@ #include "DetectorDescription/Core/interface/DDTranslation.h" #include "DetectorDescription/Core/interface/DDTypes.h" #include "DataFormats/Math/interface/GeantUnits.h" +#include "DataFormats/Math/interface/angle_units.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/PluginManager/interface/PluginFactory.h" @@ -17,10 +18,11 @@ #include using namespace geant_units::operators; +using namespace angle_units::operators; class DDMTDLinear : public DDAlgorithm { public: - DDMTDLinear() : m_n(1), m_startCopyNo(1), m_incrCopyNo(1), m_theta(0.), m_phi(0.), m_delta(0.) {} + DDMTDLinear() : m_n(1), m_startCopyNo(1), m_incrCopyNo(1), m_theta(0.), m_phi(0.), m_delta(0.), m_phi_obj(0.), m_theta_obj(0.) {} void initialize(const DDNumericArguments& nArgs, const DDVectorArguments& vArgs, @@ -37,6 +39,8 @@ class DDMTDLinear : public DDAlgorithm { double m_theta; //Theta double m_phi; //Phi dir[Theta,Phi] ... unit-std::vector in direction Theta, Phi double m_delta; //Delta - distance between two subsequent positions along dir[Theta,Phi] + double m_phi_obj; //Phi angle to rotate volumes (indipendent from m_phi traslation direction) + double m_theta_obj; //Theta angle to rotate volumes std::vector m_base; //Base values - a 3d-point where the offset is calculated from //base is optional, if omitted base=(0,0,0) std::pair m_childNmNs; //Child name @@ -55,12 +59,15 @@ void DDMTDLinear::initialize(const DDNumericArguments& nArgs, m_phi = nArgs["Phi"]; m_delta = nArgs["Delta"]; m_base = vArgs["Base"]; + m_phi_obj = nArgs["Phi_obj"]; + m_theta_obj = nArgs["Theta_obj"]; LogDebug("DDAlgorithm") << "DDMTDLinear: Parameters for position" << "ing:: n " << m_n << " Direction Theta, Phi, Offset, Delta " << convertRadToDeg(m_theta) << " " << convertRadToDeg(m_phi) << " " << " " << convertRadToDeg(m_delta) << " Base " << m_base[0] << ", " << m_base[1] << ", " - << m_base[2]; + << m_base[2] << "Objects placement Phi_obj, Theta_obj " << convertRadToDeg(m_phi_obj) + << " " << convertRadToDeg(m_theta_obj); m_childNmNs = DDSplit(sArgs["ChildName"]); if (m_childNmNs.second.empty()) @@ -80,15 +87,16 @@ void DDMTDLinear::execute(DDCompactView& cpv) { DDTranslation basetr(m_base[0], m_base[1], m_base[2]); - double thetaZ=0; //rotation is in xy plane - double phiZ=0; //m_phi; //double phiZ=0; - double thetaX=1.57; - double thetaY=1.57; - double phiX=0; //m_phi; - double phiY=0+1.57; //m_phi+1.57; //phi+TMath::Pi()/2 Rad o Deg????????????????????? + //rotation is in xy plane + long double x_phi = 0.5; + double thetaZ = m_theta_obj - angle_units::operators::operator""_pi(x_phi); + double phiZ = m_phi_obj; + double thetaX = m_theta_obj; + double thetaY = m_theta_obj; + double phiX = m_phi_obj; + double phiY = m_phi_obj + angle_units::operators::operator""_pi(x_phi); - //std::make_unique rotationMatrix=DDcreateRotationMatrix(thetaX, phiX, thetaY, phiY, thetaZ, phiZ); - //DDRotation rotation = DDRotation("IdentityRotation"); + //DDRotation rotation = DDRotation("IdentityRotation"); this is the default rotation matrix in DDLinear DDRotation rotation = DDRotation("Rotation"); @@ -100,8 +108,8 @@ void DDMTDLinear::execute(DDCompactView& cpv) { } for (int i = 0; i < m_n; ++i) { - DDTranslation tran = basetr + (i * m_delta) * direction; //basetr + (double(copy) * m_delta) * direction; - cpv.position(ddname, mother, copy, tran, rotation); //cpv.position(ddname, mother, copy, tran, rotation); + DDTranslation tran = basetr + (double(i) * m_delta) * direction; + cpv.position(ddname, mother, copy, tran, rotation); LogDebug("DDAlgorithm") << "DDMTDLinear: " << m_childNmNs.second << ":" << m_childNmNs.first << " number " << copy << " positioned in " << mother << " at " << tran << " with " << rotation; copy += m_incrCopyNo; diff --git a/Geometry/MTDCommonData/src/ETLNumberingScheme.cc b/Geometry/MTDCommonData/src/ETLNumberingScheme.cc index 9f6c163ff1c4f..e614a72b33f84 100644 --- a/Geometry/MTDCommonData/src/ETLNumberingScheme.cc +++ b/Geometry/MTDCommonData/src/ETLNumberingScheme.cc @@ -3,7 +3,7 @@ #include -//#define EDM_ML_DEBUG +#define EDM_ML_DEBUG ETLNumberingScheme::ETLNumberingScheme() : MTDNumberingScheme() { #ifdef EDM_ML_DEBUG @@ -30,12 +30,29 @@ uint32_t ETLNumberingScheme::getUnitID(const MTDBaseNumber& baseNumber) const { return 0; } - const uint32_t modCopy(baseNumber.getCopyNumber(2)); + // Discriminate pre-TDR and TDR scenarios + + const bool preTDR = (baseNumber.getLevelName(3).find("Ring") != std::string::npos); + const uint32_t modCopy(baseNumber.getCopyNumber(2)); + const std::string& ringName(baseNumber.getLevelName(3)); // name of ring volume - const int modtyp(0); + int modtyp(0); std::string baseName = ringName.substr(ringName.find(":") + 1); - const int ringCopy(::atoi(baseName.c_str() + 4)); + int ringCopy(::atoi(baseName.c_str() + 4)); + + if ( !preTDR) { + + uint32_t discN = (baseNumber.getLevelName(4).find("Disk1") != std::string::npos) ? 0 : 1; + uint32_t quarterS = (baseNumber.getLevelName(3).find("Front") != std::string::npos) ? 0 : 1; + uint32_t quarterN = baseNumber.getCopyNumber(3); + const uint32_t quarterOffset = 4; + + ringCopy = quarterN+quarterS*quarterOffset+2*quarterOffset*discN; + + modtyp = (baseNumber.getLevelName(2).find("_2") != std::string::npos ) ? 2 : 1; + + } // Side choice: up to scenario D38 is given by level 7 (HGCal v9) int nSide(7); @@ -58,21 +75,21 @@ uint32_t ETLNumberingScheme::getUnitID(const MTDBaseNumber& baseNumber) const { // error checking - if (modtyp != 0) { + if ((modtyp != 0 && preTDR) || (modtyp == 0 && !preTDR)) { edm::LogWarning("MTDGeom") << "ETLNumberingScheme::getUnitID(): " << "****************** Bad module name = " << modtyp << ", Volume Name = " << baseNumber.getLevelName(4); return 0; } - if (1 > modCopy || 176 < modCopy) { + if ((preTDR && (1 > modCopy || 176 < modCopy)) || (!preTDR && (1 > modCopy || 292 < modCopy))) { edm::LogWarning("MTDGeom") << "ETLNumberingScheme::getUnitID(): " << "****************** Bad module copy = " << modCopy << ", Volume Number = " << baseNumber.getCopyNumber(4); return 0; } - if (1 > ringCopy || 11 < ringCopy) { + if ((preTDR && (1 > ringCopy || 11 < ringCopy)) || ( !preTDR && (1 > ringCopy || 16 < ringCopy))) { edm::LogWarning("MTDGeom") << "ETLNumberingScheme::getUnitID(): " << "****************** Bad ring copy = " << ringCopy << ", Volume Number = " << baseNumber.getCopyNumber(3); From 55ad920cc639516afb1fe9375423d7766c052e60 Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Fri, 13 Dec 2019 11:01:19 +0100 Subject: [PATCH 04/15] Update of ETLDetId mask to fully exploit the module bit range, backward compatible --- DataFormats/ForwardDetId/interface/ETLDetId.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DataFormats/ForwardDetId/interface/ETLDetId.h b/DataFormats/ForwardDetId/interface/ETLDetId.h index a8bddce19c321..97c6b006ea49f 100644 --- a/DataFormats/ForwardDetId/interface/ETLDetId.h +++ b/DataFormats/ForwardDetId/interface/ETLDetId.h @@ -15,7 +15,7 @@ class ETLDetId : public MTDDetId { public: static const uint32_t kETLmoduleOffset = 7; - static const uint32_t kETLmoduleMask = 0xFF; + static const uint32_t kETLmoduleMask = 0x1FF; static const uint32_t kETLmodTypeOffset = 5; static const uint32_t kETLmodTypeMask = 0x3; From 776fe46bc878f9fe9017b431c16a3aa912ab282a Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Thu, 9 Jan 2020 11:50:50 +0100 Subject: [PATCH 05/15] Update scenario from D51 to D53 after rebase onto CMSSW_11_1_0_pre1 --- .../python/GeometryExtended2026D53Reco_cff.py | 60 ++++++++ .../python/GeometryExtended2026D53_cff.py | 13 ++ .../cmsExtendedGeometry2026D53XML_cfi.py | 129 ++++++++++++++++++ 3 files changed, 202 insertions(+) create mode 100644 Configuration/Geometry/python/GeometryExtended2026D53Reco_cff.py create mode 100644 Configuration/Geometry/python/GeometryExtended2026D53_cff.py create mode 100644 Geometry/CMSCommonData/python/cmsExtendedGeometry2026D53XML_cfi.py diff --git a/Configuration/Geometry/python/GeometryExtended2026D53Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D53Reco_cff.py new file mode 100644 index 0000000000000..7b1d819720a65 --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2026D53Reco_cff.py @@ -0,0 +1,60 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +from Configuration.Geometry.GeometryExtended2026D53_cff import * + +# tracker +from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * +from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.trackerParameters_cfi import * +from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * +from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * +trackerGeometry.applyAlignment = cms.bool(False) + +# calo +from Geometry.CaloEventSetup.HGCalV9Topology_cfi import * +from Geometry.HGCalGeometry.HGCalGeometryESProducer_cfi import * +from Geometry.CaloEventSetup.CaloTopology_cfi import * +from Geometry.CaloEventSetup.CaloGeometryBuilder_cfi import * +CaloGeometryBuilder = cms.ESProducer("CaloGeometryBuilder", + SelectedCalos = cms.vstring("HCAL", + "ZDC", + "EcalBarrel", + "TOWER", + "HGCalEESensitive", + "HGCalHESiliconSensitive", + "HGCalHEScintillatorSensitive" + ) +) +from Geometry.EcalAlgo.EcalBarrelGeometry_cfi import * +from Geometry.HcalEventSetup.HcalGeometry_cfi import * +from Geometry.HcalEventSetup.CaloTowerGeometry_cfi import * +from Geometry.HcalEventSetup.CaloTowerTopology_cfi import * +from Geometry.HcalCommonData.hcalDDDRecConstants_cfi import * +from Geometry.HcalEventSetup.hcalTopologyIdeal_cfi import * +from Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi import * +from Geometry.EcalMapping.EcalMapping_cfi import * +from Geometry.EcalMapping.EcalMappingRecord_cfi import * + +# muon +from Geometry.MuonNumbering.muonNumberingInitialization_cfi import * +from RecoMuon.DetLayers.muonDetLayerGeometry_cfi import * +from Geometry.GEMGeometryBuilder.gemGeometry_cfi import * +from Geometry.GEMGeometryBuilder.me0Geometry_cfi import * +from Geometry.CSCGeometryBuilder.idealForDigiCscGeometry_cff import * +from Geometry.DTGeometryBuilder.idealForDigiDtGeometry_cff import * + +# forward +from Geometry.ForwardGeometry.ForwardGeometry_cfi import * + +# timing +from RecoMTD.DetLayers.mtdDetLayerGeometry_cfi import * +from Geometry.MTDGeometryBuilder.mtdParameters_cfi import * +from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cfi import * +from Geometry.MTDNumberingBuilder.mtdTopology_cfi import * +from Geometry.MTDGeometryBuilder.mtdGeometry_cfi import * +from Geometry.MTDGeometryBuilder.idealForDigiMTDGeometry_cff import * +mtdGeometry.applyAlignment = cms.bool(False) + diff --git a/Configuration/Geometry/python/GeometryExtended2026D53_cff.py b/Configuration/Geometry/python/GeometryExtended2026D53_cff.py new file mode 100644 index 0000000000000..55d08c00f8834 --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2026D53_cff.py @@ -0,0 +1,13 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +from Geometry.CMSCommonData.cmsExtendedGeometry2026D53XML_cfi import * +from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi import * +from SLHCUpgradeSimulations.Geometry.fakeConditions_phase2TkT14_cff import * +from Geometry.EcalCommonData.ecalSimulationParameters_cff import * +from Geometry.HcalCommonData.hcalDDDSimConstants_cff import * +from Geometry.HGCalCommonData.hgcalParametersInitialization_cfi import * +from Geometry.HGCalCommonData.hgcalNumberingInitialization_cfi import * +from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cfi import * diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D53XML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D53XML_cfi.py new file mode 100644 index 0000000000000..4d864ab1e5f2d --- /dev/null +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D53XML_cfi.py @@ -0,0 +1,129 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource", + geomXMLFiles = cms.vstring( + 'Geometry/CMSCommonData/data/materials.xml', + 'Geometry/CMSCommonData/data/rotations.xml', + 'Geometry/CMSCommonData/data/extend/v2/cmsextent.xml', + 'Geometry/CMSCommonData/data/cmsMother.xml', + 'Geometry/CMSCommonData/data/eta3/etaMax.xml', + 'Geometry/CMSCommonData/data/cmsTracker.xml', + 'Geometry/CMSCommonData/data/cmsCalo.xml', + 'Geometry/CMSCommonData/data/cmsMuon.xml', + 'Geometry/CMSCommonData/data/mgnt.xml', + 'Geometry/CMSCommonData/data/beampipe/2026/v1/beampipe.xml', + 'Geometry/CMSCommonData/data/cmsBeam/2026/v1/cmsBeam.xml', + 'Geometry/CMSCommonData/data/muonMB.xml', + 'Geometry/CMSCommonData/data/muonMagnet.xml', + 'Geometry/CMSCommonData/data/cavern/2021/v1/cavern.xml', + 'Geometry/CMSCommonData/data/cavernData/2021/v1/cavernData.xml', + 'Geometry/CMSCommonData/data/cavernFloor/2017/v1/cavernFloor.xml', + 'Geometry/CMSCommonData/data/cms/2026/v3/cms.xml', + 'Geometry/CMSCommonData/data/caloBase/2026/v2/caloBase.xml', + 'Geometry/CMSCommonData/data/muonBase/2026/v3/muonBase.xml', + 'Geometry/TrackerCommonData/data/PhaseII/trackerParameters.xml', + 'Geometry/TrackerCommonData/data/pixfwdCommon.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker613_MB_2019_04/pixfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker613_MB_2019_04/pixbar.xml', + 'Geometry/TrackerCommonData/data/trackermaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/otst.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker613_MB_2019_04/tracker.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker613_MB_2019_04/pixel.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/trackerbar.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/trackerfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/trackerStructureTopology.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker613/pixelStructureTopology.xml', + 'Geometry/TrackerSimData/data/PhaseII/TiltedTracker404/trackersens.xml', + 'Geometry/TrackerSimData/data/PhaseII/TiltedTracker404/pixelsens.xml', + 'Geometry/TrackerRecoData/data/PhaseII/TiltedTracker613_MB_2019_04/trackerRecoMaterial.xml', + 'Geometry/TrackerSimData/data/PhaseII/TiltedTracker404/trackerProdCuts.xml', + 'Geometry/TrackerSimData/data/PhaseII/TiltedTracker404/pixelProdCuts.xml', + 'Geometry/TrackerSimData/data/trackerProdCutsBEAM.xml', + 'Geometry/EcalCommonData/data/eregalgo/2026/v2/eregalgo.xml', + 'Geometry/EcalCommonData/data/ectkcable/2026/v1/ectkcable.xml', + 'Geometry/EcalCommonData/data/ectkcablemat/2026/v1/ectkcablemat.xml', + 'Geometry/EcalCommonData/data/ebalgo.xml', + 'Geometry/EcalCommonData/data/ebcon.xml', + 'Geometry/EcalCommonData/data/ebrot.xml', + 'Geometry/HcalCommonData/data/hcalrotations.xml', + 'Geometry/HcalCommonData/data/hcal/v2/hcalalgo.xml', + 'Geometry/HcalCommonData/data/hcalbarrelalgo.xml', + 'Geometry/HcalCommonData/data/hcalcablealgo/v2/hcalcablealgo.xml', + 'Geometry/HcalCommonData/data/hcalouteralgo.xml', + 'Geometry/HcalCommonData/data/hcalforwardalgo.xml', + 'Geometry/HcalCommonData/data/hcalSimNumbering/NoHE/hcalSimNumbering.xml', + 'Geometry/HcalCommonData/data/hcalRecNumbering/NoHE/hcalRecNumbering.xml', + 'Geometry/HcalCommonData/data/average/hcalforwardmaterial.xml', + 'Geometry/HGCalCommonData/data/hgcalMaterial/v1/hgcalMaterial.xml', + 'Geometry/HGCalCommonData/data/hgcal/v11/hgcal.xml', + 'Geometry/HGCalCommonData/data/hgcalEE/v10/hgcalEE.xml', + 'Geometry/HGCalCommonData/data/hgcalHEsil/v11/hgcalHEsil.xml', + 'Geometry/HGCalCommonData/data/hgcalHEmix/v11/hgcalHEmix.xml', + 'Geometry/HGCalCommonData/data/hgcalwafer/v9/hgcalwafer.xml', + 'Geometry/HGCalCommonData/data/hgcalcell/v9/hgcalcell.xml', + 'Geometry/HGCalCommonData/data/hgcalCons/v11/hgcalCons.xml', + 'Geometry/MuonCommonData/data/mbCommon/2021/v1/mbCommon.xml', + 'Geometry/MuonCommonData/data/mb1/2015/v2/mb1.xml', + 'Geometry/MuonCommonData/data/mb2/2015/v2/mb2.xml', + 'Geometry/MuonCommonData/data/mb3/2015/v2/mb3.xml', + 'Geometry/MuonCommonData/data/mb4/2015/v2/mb4.xml', + 'Geometry/MuonCommonData/data/mb4Shield/2021/v1/mb4Shield.xml', + 'Geometry/MuonCommonData/data/muonYoke/2021/v2/muonYoke.xml', + 'Geometry/MuonCommonData/data/csc/2021/v1/csc.xml', + 'Geometry/MuonCommonData/data/mfshield/2017/v1/mfshield.xml', + 'Geometry/MuonCommonData/data/mf/2026/v2/mf.xml', + 'Geometry/MuonCommonData/data/rpcf/2026/v2/rpcf.xml', + 'Geometry/MuonCommonData/data/gemf/TDR_BaseLine/gemf.xml', + 'Geometry/MuonCommonData/data/gem11/TDR_BaseLine/gem11.xml', + 'Geometry/MuonCommonData/data/gem21/TDR_Dev/gem21.xml', + 'Geometry/MuonCommonData/data/mfshield/2026/v1/mfshield.xml', + 'Geometry/MuonCommonData/data/me0/TDR_Dev/v2/me0.xml', + 'Geometry/ForwardCommonData/data/forwardshield/2017/v1/forwardshield.xml', + 'Geometry/ForwardCommonData/data/brmrotations.xml', + 'Geometry/ForwardCommonData/data/PostLS2/brm.xml', + 'Geometry/ForwardCommonData/data/zdcmaterials.xml', + 'Geometry/ForwardCommonData/data/lumimaterials.xml', + 'Geometry/ForwardCommonData/data/zdcrotations.xml', + 'Geometry/ForwardCommonData/data/lumirotations.xml', + 'Geometry/ForwardCommonData/data/zdc.xml', + 'Geometry/ForwardCommonData/data/zdclumi.xml', + 'Geometry/ForwardCommonData/data/cmszdc.xml', + 'Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml', + 'Geometry/MTDCommonData/data/btl/v1/btl.xml', + 'Geometry/MTDCommonData/data/btl/v1/btlStructureTopology.xml', + 'Geometry/MTDCommonData/data/etl/v4/etl.xml', + 'Geometry/MTDCommonData/data/mtdParameters/v1/mtdParameters.xml', + )+ + cms.vstring( + 'Geometry/MuonCommonData/data/muonNumbering/TDR_DeV/muonNumbering.xml', + 'Geometry/EcalSimData/data/PhaseII/ecalsens.xml', + 'Geometry/HcalCommonData/data/hcalsens/NoHE/hcalsenspmf.xml', + 'Geometry/HcalSimData/data/hf.xml', + 'Geometry/HcalSimData/data/hfpmt.xml', + 'Geometry/HcalSimData/data/hffibrebundle.xml', + 'Geometry/HcalSimData/data/CaloUtil.xml', + 'Geometry/HGCalSimData/data/hgcsensv9.xml', + 'Geometry/MuonSimData/data/PhaseII/ME0EtaPart/muonSens.xml', + 'Geometry/DTGeometryBuilder/data/dtSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecs.xml', + 'Geometry/RPCGeometryBuilder/data/2026/v1/RPCSpecs.xml', + 'Geometry/GEMGeometryBuilder/data/v7/GEMSpecsFilter.xml', + 'Geometry/GEMGeometryBuilder/data/v7/GEMSpecs.xml', + 'Geometry/ForwardCommonData/data/brmsens.xml', + 'Geometry/ForwardSimData/data/zdcsens.xml', + 'Geometry/MTDSimData/data/v2/mtdsens.xml', + 'Geometry/HcalSimData/data/HcalProdCuts.xml', + 'Geometry/EcalSimData/data/EcalProdCuts.xml', + 'Geometry/HGCalSimData/data/hgcProdCutsv9.xml', + 'Geometry/MuonSimData/data/PhaseII/muonProdCuts.xml', + 'Geometry/ForwardSimData/data/zdcProdCuts.xml', + 'Geometry/ForwardSimData/data/ForwardShieldProdCuts.xml', + 'Geometry/MTDSimData/data/v2/mtdProdCuts.xml', + 'Geometry/CMSCommonData/data/FieldParameters.xml', + ), + rootNodeName = cms.string('cms:OCMS') +) From b09805cf781a9ba0f43c9967e172f8c2b6eeb1dd Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Fri, 10 Jan 2020 17:28:44 +0100 Subject: [PATCH 06/15] Add methods to extract disc number, disc side and quarter number for ETL TDR model detid --- DataFormats/ForwardDetId/interface/ETLDetId.h | 22 ++++++++++++++++++- DataFormats/ForwardDetId/src/ETLDetId.cc | 3 ++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/DataFormats/ForwardDetId/interface/ETLDetId.h b/DataFormats/ForwardDetId/interface/ETLDetId.h index 97c6b006ea49f..61518850877e6 100644 --- a/DataFormats/ForwardDetId/interface/ETLDetId.h +++ b/DataFormats/ForwardDetId/interface/ETLDetId.h @@ -19,6 +19,13 @@ class ETLDetId : public MTDDetId { static const uint32_t kETLmodTypeOffset = 5; static const uint32_t kETLmodTypeMask = 0x3; + /// constants for the TDR ETL model + static constexpr uint32_t kETLnDiscOffset = 3; + static const uint32_t kETLnDiscMask = 0x1; + static constexpr uint32_t kETLdiscSideOffset = 2; + static const uint32_t kETLdiscSideMask = 0x1; + static const uint32_t kETLquarterMask = 0x3; + // ---------- Constructors, enumerated types ---------- /** Construct a null id */ @@ -45,10 +52,23 @@ class ETLDetId : public MTDDetId { /** Returns ETL module number. */ inline int module() const { return (id_ >> kETLmoduleOffset) & kETLmoduleMask; } - /** Returns ETL crystal type number. */ + /** Returns ETL module type number. */ inline int modType() const { return (id_ >> kETLmodTypeOffset) & kETLmodTypeMask; } ETLDetId geographicalId() const; + + // --------- Methods for the TDR ETL model only ----------- + // meaningless for TP model + + // starting from 1 + inline int quarter() const { return ((((id_ >> kRodRingOffset) & kRodRingMask)-1) & kETLquarterMask)+1; } + + // 0 = front, 1 = back + inline int discSide() const { return ((((id_ >> kRodRingOffset) & kRodRingMask)-1) >> kETLdiscSideOffset) & kETLdiscSideMask; } + + // starting from 1 + inline int nDisc() const { return (((((id_ >> kRodRingOffset) & kRodRingMask)-1) >> kETLnDiscOffset) & kETLnDiscMask)+1; } + }; std::ostream& operator<<(std::ostream&, const ETLDetId&); diff --git a/DataFormats/ForwardDetId/src/ETLDetId.cc b/DataFormats/ForwardDetId/src/ETLDetId.cc index 366d1bd99be5a..24abbcf4d13a6 100644 --- a/DataFormats/ForwardDetId/src/ETLDetId.cc +++ b/DataFormats/ForwardDetId/src/ETLDetId.cc @@ -10,7 +10,8 @@ std::ostream& operator<<(std::ostream& os, const ETLDetId& id) { os << (MTDDetId&)id; os << " ETL " << std::endl << " Side : " << id.mtdSide() << std::endl - << " Ring : " << id.mtdRR() << std::endl + << " Ring : " << id.mtdRR() << " " + << " Disc/Side/Quarter = " << id.nDisc() << " " << id.discSide() << " " << id.quarter() << std::endl << " Module : " << id.module() << std::endl << " Module type : " << id.modType() << std::endl; return os; From c1036b0ed4bf829ae8e375301d4105b649f665ec Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Fri, 10 Jan 2020 17:55:37 +0100 Subject: [PATCH 07/15] remove unneeded constexpr --- DataFormats/ForwardDetId/interface/ETLDetId.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DataFormats/ForwardDetId/interface/ETLDetId.h b/DataFormats/ForwardDetId/interface/ETLDetId.h index 61518850877e6..aa22cd62fdb2e 100644 --- a/DataFormats/ForwardDetId/interface/ETLDetId.h +++ b/DataFormats/ForwardDetId/interface/ETLDetId.h @@ -20,9 +20,9 @@ class ETLDetId : public MTDDetId { static const uint32_t kETLmodTypeMask = 0x3; /// constants for the TDR ETL model - static constexpr uint32_t kETLnDiscOffset = 3; + static const uint32_t kETLnDiscOffset = 3; static const uint32_t kETLnDiscMask = 0x1; - static constexpr uint32_t kETLdiscSideOffset = 2; + static const uint32_t kETLdiscSideOffset = 2; static const uint32_t kETLdiscSideMask = 0x1; static const uint32_t kETLquarterMask = 0x3; From 6e3f9e5f5189aa4366264305ced90941646bc493 Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Thu, 23 Jan 2020 10:40:56 +0100 Subject: [PATCH 08/15] Last version by F. Siviero without overlaps --- Geometry/MTDCommonData/data/etl/v4/etl.xml | 1948 ++++++++------------ 1 file changed, 800 insertions(+), 1148 deletions(-) diff --git a/Geometry/MTDCommonData/data/etl/v4/etl.xml b/Geometry/MTDCommonData/data/etl/v4/etl.xml index 75b5fc18172ee..9be28616fce61 100644 --- a/Geometry/MTDCommonData/data/etl/v4/etl.xml +++ b/Geometry/MTDCommonData/data/etl/v4/etl.xml @@ -2,10 +2,10 @@ - - + + - + @@ -25,14 +25,14 @@ - + - + @@ -42,16 +42,16 @@ - - - - + + + + - - - - + + + + @@ -197,14 +197,14 @@ - + - + - + @@ -214,7 +214,7 @@ - + @@ -231,7 +231,7 @@ - + @@ -530,11 +530,11 @@ - + - -120.325*cm, 2.155*cm, 0.178*cm + -111.93*cm, 2.2925*cm, 0.178*cm @@ -547,7 +547,7 @@ - (-120.325+[DeltaX_ServiceModule])*cm, 13.055*cm, 0.*cm + (-111.93+[DeltaX_ServiceModule])*cm, 13.1925*cm, 0.*cm @@ -560,7 +560,7 @@ - (-120.325+[DeltaX_ServiceModule])*cm, (13.055+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm + (-111.93+[DeltaX_ServiceModule])*cm, (13.1925+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm @@ -573,7 +573,7 @@ - (-120.325+2*[DeltaX_ServiceModule])*cm, 2.155*cm, 0.178*cm + (-111.93+2*[DeltaX_ServiceModule])*cm, 2.2925*cm, 0.178*cm @@ -583,10 +583,10 @@ - + - (-120.325+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -599,7 +599,7 @@ - (-120.325+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-111.93+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -612,7 +612,7 @@ - (-120.325+4*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+4*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -625,7 +625,7 @@ - (-120.325+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -638,7 +638,7 @@ - (-120.325+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-111.93+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -651,7 +651,7 @@ - (-120.325+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0*cm + (-111.93+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.1925+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0*cm @@ -661,10 +661,10 @@ - + - (-120.325+6*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+6*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -677,7 +677,7 @@ - (-120.325+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -690,7 +690,7 @@ - (-120.325+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-111.93+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -700,10 +700,10 @@ - + - (-120.325+8*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+8*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -712,50 +712,50 @@ - + - (-120.325+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm - + - (-120.325+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-111.93+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.0925*cm, 0.*cm - + - + - (-120.325+10*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+10*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -765,10 +765,10 @@ - + - (-120.325+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -781,7 +781,7 @@ - (-120.325+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-111.93+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -794,7 +794,7 @@ - (-120.325+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm + (-111.93+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.1925+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm @@ -804,10 +804,10 @@ - + - (-120.325+12*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+12*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -816,11 +816,11 @@ - - + + - (-120.325+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -829,37 +829,11 @@ - + - (-120.325+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - - - - - - - - - - - (-120.325+14*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - - - (-120.325+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -867,12 +841,12 @@ - - - + + + - - (-120.325+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + + (-111.93+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, (13.1925+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm @@ -881,11 +855,11 @@ - - + + - (-120.325+16*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+14*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -895,10 +869,10 @@ - + - (-120.325+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -908,10 +882,10 @@ - + - (-120.325+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-111.93+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -921,10 +895,10 @@ - + - (-120.325+18*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+16*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -933,24 +907,11 @@ - - + + - (-120.325+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - - - (-120.325+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 6.5275*cm, 0*cm + (-111.93+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -960,10 +921,10 @@ - + - (-120.325+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (-111.93+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -972,11 +933,11 @@ - - + + - (-120.325+20*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (-111.93+18*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -985,37 +946,24 @@ - - + + - (-120.325+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+[SensorModuledy]+[DeltaY])*cm, 0.178*cm - - - - - - - - - - - - - (-120.325+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY])*cm, 0*cm + (-111.93+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (2.2925+[SensorModuledy]+[DeltaY])*cm, 0.178*cm - + - - + + - (-120.325+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY]+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + (-111.93+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (16.2+[SensorModuledy]+[DeltaY])*cm, 0.*cm @@ -1024,11 +972,11 @@ - - + + - (-120.325+22*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, ( 2.155+4*[SensorModuledy]+4*[DeltaY])*cm, 0.178*cm + (-111.93+20*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (2.2925+4*[SensorModuledy]+4*[DeltaY])*cm, 0.178*cm @@ -1037,24 +985,11 @@ - - + + - (-120.325+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm - - - - - - - - - - - - - (-120.325+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0*cm + (-111.93+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.2925+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm @@ -1064,10 +999,10 @@ - + - (-120.325+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (-111.93+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (13.1925+6*[SensorModuledy]+6*[DeltaY])*cm, 0.*cm @@ -1076,11 +1011,11 @@ - - + + - (-120.325+24*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + (-111.93+22*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, ( 2.2925+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm @@ -1089,24 +1024,11 @@ - - + + - (-120.325+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm - - - - - - - - - - - - - (-120.325+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + (-111.93+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.2925+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm @@ -1116,10 +1038,10 @@ - + - (-120.325+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (-111.93+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (13.1925+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm @@ -1128,11 +1050,11 @@ - - + + - (-120.325+26*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + (-111.93+24*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, ( 2.2925+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm @@ -1141,24 +1063,11 @@ - - + + - (-120.325+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm - - - - - - - - - - - - - (-120.325+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm + (-111.93+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.2925+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm @@ -1168,10 +1077,10 @@ - + - (-120.325+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+10*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (-111.93+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (13.1925+8*[SensorModuledy]+8*[DeltaY])*cm, 0.*cm @@ -1180,20 +1089,17 @@ - - + + - (-120.325+28*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + (-111.93+26*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, ( 2.2925+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm - - - - + @@ -1203,7 +1109,7 @@ - -122.0*cm, 13.055*cm, 0.*cm + -113.555*cm, 13.1925*cm, 0.*cm @@ -1216,7 +1122,7 @@ - (-122.0+[DeltaX_ServiceModule])*cm, 2.155*cm, -0.178*cm + (-113.555+[DeltaX_ServiceModule])*cm, 2.2925*cm, -0.178*cm @@ -1229,7 +1135,7 @@ - (-122.0+[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1242,7 +1148,7 @@ - (-122.0+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-113.555+2*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -1255,7 +1161,7 @@ - (-122.0+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+3*[DeltaX_ServiceModule]+[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1268,7 +1174,7 @@ - (-122.0+3*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+3*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1281,7 +1187,7 @@ - (-122.0+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-113.555+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -1294,7 +1200,7 @@ - (-122.0+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (-113.555+4*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, (13.1925+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm @@ -1307,7 +1213,7 @@ - (-122.0+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+5*[DeltaX_ServiceModule]+2*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1320,20 +1226,20 @@ - (-122.0+5*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+5*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm - + - + - (-122.0+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-113.555+6*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 13.0925*cm, 0.*cm @@ -1346,7 +1252,7 @@ - (-122.0+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+7*[DeltaX_ServiceModule]+3*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1359,7 +1265,7 @@ - (-122.0+7*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+7*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1372,7 +1278,7 @@ - (-122.0+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-113.555+8*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -1385,7 +1291,7 @@ - (-122.0+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+9*[DeltaX_ServiceModule]+4*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1398,7 +1304,7 @@ - (-122.0+9*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+9*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1411,7 +1317,7 @@ - (-122.0+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-113.555+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -1424,7 +1330,7 @@ - (-122.0+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (-113.555+10*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, (13.1925+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm @@ -1437,7 +1343,7 @@ - (-122.0+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+11*[DeltaX_ServiceModule]+5*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1446,11 +1352,11 @@ - + - (-122.0+11*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+11*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1459,11 +1365,24 @@ - + - (-122.0+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-113.555+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 13.1925*cm, 0.*cm + + + + + + + + + + + + + (-113.555+12*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, (13.1925+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm @@ -1472,11 +1391,11 @@ - + - (-122.0+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+13*[DeltaX_ServiceModule]+6*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1485,11 +1404,11 @@ - - + + - (-122.0+13*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+13*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1499,10 +1418,10 @@ - + - (-122.0+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-113.555+14*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -1512,10 +1431,10 @@ - + - (-122.0+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+15*[DeltaX_ServiceModule]+7*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1525,10 +1444,10 @@ - + - (-122.0+15*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+15*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1538,10 +1457,10 @@ - + - (-122.0+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (-113.555+16*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -1551,10 +1470,10 @@ - + - (-122.0+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+17*[DeltaX_ServiceModule]+8*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1563,24 +1482,11 @@ - - + + - (-122.0+17*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - - - - - - - - - - - (-122.0+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + (-113.555+17*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1590,10 +1496,10 @@ - + - (-122.0+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (-113.555+18*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -1602,11 +1508,11 @@ - - + + - (-122.0+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+19*[DeltaX_ServiceModule]+9*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm @@ -1615,11 +1521,11 @@ - - + + - (-122.0+19*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+19*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.2925+4*[SensorModuledy]+4*[DeltaY])*cm, -0.178*cm @@ -1627,12 +1533,12 @@ - + - + - - (-122.0+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 6.5275*cm, 0.*cm + + (-113.555+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (13.1925+4*[SensorModuledy]+4*[DeltaY])*cm, 0.*cm @@ -1640,12 +1546,12 @@ - - - + + + - - (-122.0+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (6.5275+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm + + (-113.555+20*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (13.1925+4*[SensorModuledy]+4*[DeltaY]+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm @@ -1654,11 +1560,11 @@ - - + + - (-122.0+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm + (-113.555+21*[DeltaX_ServiceModule]+10*[SensorModuledx])*cm, (2.2925+5*[SensorModuledy]+5*[DeltaY])*cm, -0.178*cm @@ -1667,63 +1573,50 @@ - - + + - (-122.0+21*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+4*[SensorModuledy]+4*[DeltaY])*cm, -0.178*cm + (-113.555+21*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.2925+6*[SensorModuledy]+6*[DeltaY])*cm, -0.178*cm - - - - - - - - (-122.0+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, 0.*cm - - - - - - + - + - (-122.0+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY]+[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0.*cm + (-113.555+22*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (13.1925+6*[SensorModuledy]+6*[DeltaY])*cm, 0.*cm - + - - - + + + - (-122.0+23*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+6*[SensorModuledy]+6*[DeltaY])*cm, -0.178*cm + (-113.555+23*[DeltaX_ServiceModule]+11*[SensorModuledx])*cm, (2.2925+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm @@ -1731,12 +1624,12 @@ - - - + + + - - (-122.0+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm + + (-113.555+23*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.2925+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm @@ -1746,10 +1639,10 @@ - + - (-122.0+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm + (-113.555+24*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (13.1925+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm @@ -1758,11 +1651,11 @@ - - + + - (-122.0+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + (-113.555+25*[DeltaX_ServiceModule]+12*[SensorModuledx])*cm, (2.2925+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm @@ -1771,24 +1664,11 @@ - - + + - (-122.0+25*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm - - - - - - - - - - - - - (-122.0+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + (-113.555+25*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.2925+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm @@ -1798,81 +1678,26 @@ - + - (-122.0+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - - - - - - - - - - - - - (-122.0+27*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + (-113.555+26*[DeltaX_ServiceModule]+13*[SensorModuledx])*cm, (13.1925+8*[SensorModuledy]+8*[DeltaY])*cm, 0.*cm + + + - - - - - - - (-122.0+27*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm - - - - - - - - - - - - - (-122.0+28*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm - - - - - - - - - - - - - (-122.0+28*[DeltaX_ServiceModule]+14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm - - - - - - - - - - - - - - - - + + + + - 120.325*cm, 2.155*cm, 0.178*cm + 111.93*cm, 2.2925*cm, 0.178*cm @@ -1885,7 +1710,7 @@ - (120.325-[DeltaX_ServiceModule])*cm, 13.055*cm, 0.*cm + (111.93-[DeltaX_ServiceModule])*cm, 13.1925*cm, 0.*cm @@ -1898,7 +1723,7 @@ - (120.325-[DeltaX_ServiceModule])*cm, (13.055+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm + (111.93-[DeltaX_ServiceModule])*cm, (13.1925+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm @@ -1906,12 +1731,12 @@ - + - (120.325-2*[DeltaX_ServiceModule])*cm, 2.155*cm, 0.178*cm + (111.93-2*[DeltaX_ServiceModule])*cm, 2.2925*cm, 0.178*cm @@ -1919,12 +1744,12 @@ - + - + - (120.325-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -1937,7 +1762,7 @@ - (120.325-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 13.055*cm, 0.*cm + (111.93-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -1945,12 +1770,12 @@ - + - (120.325-4*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-4*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -1958,12 +1783,12 @@ - + - (120.325-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -1976,7 +1801,7 @@ - (120.325-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (111.93-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -1989,7 +1814,7 @@ - (120.325-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0*cm + (111.93-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, (13.1925+[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0*cm @@ -1997,12 +1822,12 @@ - + - + - (120.325-6*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-6*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -2010,12 +1835,12 @@ - + - (120.325-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -2028,7 +1853,7 @@ - (120.325-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (111.93-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -2036,12 +1861,12 @@ - + - + - (120.325-8*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-8*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -2049,51 +1874,51 @@ - - + + - (120.325-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm - + - (120.325-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (111.93-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 13.0925*cm, 0.*cm - + - + - + - (120.325-10*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-10*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -2101,12 +1926,12 @@ - + - + - (120.325-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -2119,7 +1944,7 @@ - (120.325-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (111.93-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -2132,7 +1957,7 @@ - (120.325-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm + (111.93-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, (13.1925+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm @@ -2140,12 +1965,12 @@ - + - + - (120.325-12*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-12*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -2153,12 +1978,12 @@ - - - + + + - (120.325-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -2167,11 +1992,11 @@ - + - (120.325-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (111.93-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -2179,12 +2004,12 @@ - - - + + + - - (120.325-14*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + + (111.93-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, (13.1925+2*[ServiceHybrid_Y]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0*cm @@ -2193,24 +2018,11 @@ - - + + - (120.325-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - - - (120.325-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (111.93-14*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -2220,23 +2032,10 @@ - - - - (120.325-16*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - + - (120.325-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -2246,10 +2045,10 @@ - + - (120.325-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 13.055*cm, 0.*cm + (111.93-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -2257,12 +2056,12 @@ - + - + - (120.325-18*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-16*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -2270,25 +2069,12 @@ - - - + + + - (120.325-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm - - - - - - - - - - - - - (120.325-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 6.5275*cm, 0*cm + (111.93-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -2298,23 +2084,10 @@ - + - (120.325-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - - - - - - - - - - - - - (120.325-20*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, 0.178*cm + (111.93-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 13.1925*cm, 0.*cm @@ -2323,11 +2096,11 @@ - - + + - (120.325-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.155+[SensorModuledy]+[DeltaY])*cm, 0.178*cm + (111.93-18*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.2925*cm, 0.178*cm @@ -2335,38 +2108,25 @@ - - - + + + - - (120.325-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY])*cm, 0*cm + + (111.93-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, (2.2925+[SensorModuledy]+[DeltaY])*cm, 0.178*cm - + - - + + - (120.325-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.155+2*[SensorModuledy]+2*[DeltaY]+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm - - - - - - - - - - - - - (120.325-22*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, ( 2.155+4*[SensorModuledy]+4*[DeltaY])*cm, 0.178*cm + (111.93-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, (16.2+[SensorModuledy]+[DeltaY])*cm, 0.*cm @@ -2376,10 +2136,10 @@ - + - (120.325-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + (111.93-20*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, (2.2925+4*[SensorModuledy]+4*[DeltaY])*cm, 0.178*cm @@ -2387,12 +2147,12 @@ - - - + + + - - (120.325-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0*cm + + (111.93-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.2925+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm @@ -2402,23 +2162,10 @@ - + - (120.325-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - - - - - - - - - - - - - (120.325-24*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, ( 2.155+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm + (111.93-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (13.1925+6*[SensorModuledy]+6*[DeltaY])*cm, 0.*cm @@ -2427,11 +2174,11 @@ - - + + - (120.325-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + (111.93-22*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, ( 2.2925+6*[SensorModuledy]+6*[DeltaY])*cm, 0.178*cm @@ -2439,12 +2186,12 @@ - - - + + + - - (120.325-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm + + (111.93-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, ( 2.2925+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm @@ -2454,23 +2201,10 @@ - + - (120.325-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - - - - - - - - - - - - - (120.325-26*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, ( 2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm + (111.93-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (13.1925+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm @@ -2479,11 +2213,11 @@ - - + + - (120.325-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + (111.93-24*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, ( 2.2925+7*[SensorModuledy]+7*[DeltaY])*cm, 0.178*cm @@ -2491,12 +2225,12 @@ - - - + + + - - (120.325-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm + + (111.93-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, ( 2.2925+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm @@ -2506,10 +2240,10 @@ - + - (120.325-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+10*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + (111.93-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (13.1925+8*[SensorModuledy]+8*[DeltaY])*cm, 0.*cm @@ -2517,12 +2251,12 @@ - - - + + + - (120.325-28*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, ( 2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm + (111.93-26*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, ( 2.2925+8*[SensorModuledy]+8*[DeltaY])*cm, 0.178*cm @@ -2530,675 +2264,593 @@ - - - - - - - - - - 122.0*cm, 13.055*cm, 0.*cm - - - + + + + + + + 113.555*cm, 13.1925*cm, 0.*cm + + + - - - - - - - (122.0-[DeltaX_ServiceModule])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-[DeltaX_ServiceModule])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - + + + + + + + (113.555-2*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 13.1925*cm, 0.*cm + + + - - - - - - - (122.0-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-3*[DeltaX_ServiceModule]-[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-3*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-3*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - + + + + + + + (113.555-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 13.1925*cm, 0.*cm + + + - - - - - - - (122.0-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, (13.055+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - - - - - - - - - - - - - (122.0-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - - - - - - - - - - - (122.0-5*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - - - - - - - - - - - (122.0-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - - - - - - - - - - - (122.0-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - - - - - - - - - - - (122.0-7*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - - - - - - - - - - - (122.0-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - - - - - - - - - - - (122.0-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - - - - - - - - - - - (122.0-9*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-4*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, (13.1925+[ServiceHybrid_Y]+2*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + + - - - - - - - (122.0-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - + + + + + + + (113.555-5*[DeltaX_ServiceModule]-2*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, (13.055+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm - - - + + + + + + + (113.555-5*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - + - - - - - - (122.0-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + (113.555-6*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 13.0925*cm, 0.*cm + + + - - - - - - - (122.0-11*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-7*[DeltaX_ServiceModule]-3*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - + + + + + + + (113.555-7*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-8*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 13.1925*cm, 0.*cm + + + - - - - - - - (122.0-13*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-9*[DeltaX_ServiceModule]-4*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - + + + + + + + (113.555-9*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 13.1925*cm, 0.*cm + + + - - - - - - - (122.0-15*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-10*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, (13.1925+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + + - - - - - - - (122.0-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 13.055*cm, 0.*cm - - - + + + + + + + (113.555-11*[DeltaX_ServiceModule]-5*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-11*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-17*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 13.1925*cm, 0.*cm + + + - - - - - - - (122.0-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 6.5275*cm, 0.*cm - - - + + + + + + + (113.555-12*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, (13.1925+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + + - - - - - - - (122.0-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, (6.5275+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - - - + + + + + + + (113.555-13*[DeltaX_ServiceModule]-6*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-13*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-19*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-14*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 13.1925*cm, 0.*cm + + + - - - - - - - (122.0-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 6.5275*cm, 0.*cm - - - + + + + + + + (113.555-15*[DeltaX_ServiceModule]-7*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (6.5275+2*[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+3*[DeltaY])*cm, 0.*cm - - - + + + + + + + (113.555-15*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, 2.155*cm, -0.178*cm - - - + + + + + + + (113.555-16*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 13.1925*cm, 0.*cm + + + - - - - - - - (122.0-21*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+4*[SensorModuledy]+4*[DeltaY])*cm, -0.178*cm - - - + + + + + + + (113.555-17*[DeltaX_ServiceModule]-8*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, 0.*cm - - - + + + + + + + (113.555-17*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY]+[ServiceHybrid_Y_short]+[DeltaY_ServiceLong_ServiceShort]+2*[DeltaY])*cm, 0.*cm - - - + + + + + + + (113.555-18*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 13.1925*cm, 0.*cm + + + - - - - - - - (122.0-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.155+5*[SensorModuledy]+5*[DeltaY])*cm, -0.178*cm - - - + + + + + + + (113.555-19*[DeltaX_ServiceModule]-9*[SensorModuledx])*cm, 2.2925*cm, -0.178*cm + + + - - - - - - - (122.0-23*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+6*[SensorModuledy]+6*[DeltaY])*cm, -0.178*cm - - - + + + + + + + (113.555-19*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.2925+4*[SensorModuledy]+4*[DeltaY])*cm, -0.178*cm + + + - - - - - - - (122.0-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm - - - + + + + + + + (113.555-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (13.1925+4*[SensorModuledy]+4*[DeltaY])*cm, 0.*cm + + + - - - - - - - (122.0-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - - - + + + + + + + (113.555-20*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (13.1925+4*[SensorModuledy]+4*[DeltaY]+2*[ServiceHybrid_Y]+3*[DeltaY]+[DeltaY_ServiceLong_ServiceShort])*cm, 0.*cm + + + - - - - - - - (122.0-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm - - - + + + + + + + (113.555-21*[DeltaX_ServiceModule]-10*[SensorModuledx])*cm, (2.2925+5*[SensorModuledy]+5*[DeltaY])*cm, -0.178*cm + + + - - - - - - - (122.0-25*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm - - - + + + + + + + (113.555-21*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.2925+6*[SensorModuledy]+6*[DeltaY])*cm, -0.178*cm + + + + + + + + + + + + + (113.555-22*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (13.1925+6*[SensorModuledy]+6*[DeltaY])*cm, 0.*cm + + + + - - - - - - - (122.0-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, 0*cm - - - + + + + + + + (113.555-23*[DeltaX_ServiceModule]-11*[SensorModuledx])*cm, (2.2925+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + + + - - - - - - - (122.0-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0.*cm - - - + + + + + + + (113.555-23*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.2925+7*[SensorModuledy]+7*[DeltaY])*cm, -0.178*cm + + + - - - - - - - (122.0-27*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm - - - + + + + + + + (113.555-24*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (13.1925+7*[SensorModuledy]+7*[DeltaY])*cm, 0.*cm + + + - - - - - - - (122.0-27*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, (2.155+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm - - - + + + + + + + (113.555-25*[DeltaX_ServiceModule]-12*[SensorModuledx])*cm, (2.2925+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + + + - - - - - - - (122.0-28*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY])*cm, 0*cm - - - + + + + + + + (113.555-25*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (2.2925+8*[SensorModuledy]+8*[DeltaY])*cm, -0.178*cm + + + - - - - - - - (122.0-28*[DeltaX_ServiceModule]-14*[SensorModuledx])*cm, (2.155+9*[SensorModuledy]+9*[DeltaY]+[DeltaY_ServiceLong_ServiceShort]+[DeltaY])*cm, 0*cm - - - + + + + + + + (113.555-26*[DeltaX_ServiceModule]-13*[SensorModuledx])*cm, (13.1925+8*[SensorModuledy]+8*[DeltaY])*cm, 0.*cm + + + - - + From 5ca4e560fb83b20db1ab00b1e8b6f85154ce23a7 Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Thu, 23 Jan 2020 14:29:11 +0100 Subject: [PATCH 09/15] Update of DD4hep scenarios to test also new ETL, while keeping D50 as a reference --- ...d-geometry.xml => cms-mtdD50-geometry.xml} | 0 .../data/dd4hep/cms-mtdD53-geometry.xml | 72 +++++++++++++++++++ .../MTDCommonData/test/testMTDinDD4hep.py | 2 +- .../test/python/testMTDGeometry.py | 2 +- 4 files changed, 74 insertions(+), 2 deletions(-) rename Geometry/MTDCommonData/data/dd4hep/{cms-mtd-geometry.xml => cms-mtdD50-geometry.xml} (100%) create mode 100644 Geometry/MTDCommonData/data/dd4hep/cms-mtdD53-geometry.xml diff --git a/Geometry/MTDCommonData/data/dd4hep/cms-mtd-geometry.xml b/Geometry/MTDCommonData/data/dd4hep/cms-mtdD50-geometry.xml similarity index 100% rename from Geometry/MTDCommonData/data/dd4hep/cms-mtd-geometry.xml rename to Geometry/MTDCommonData/data/dd4hep/cms-mtdD50-geometry.xml diff --git a/Geometry/MTDCommonData/data/dd4hep/cms-mtdD53-geometry.xml b/Geometry/MTDCommonData/data/dd4hep/cms-mtdD53-geometry.xml new file mode 100644 index 0000000000000..50eafbfe2be44 --- /dev/null +++ b/Geometry/MTDCommonData/data/dd4hep/cms-mtdD53-geometry.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/MTDCommonData/test/testMTDinDD4hep.py b/Geometry/MTDCommonData/test/testMTDinDD4hep.py index b6c4e3c7c721b..23bb6c4da17f4 100644 --- a/Geometry/MTDCommonData/test/testMTDinDD4hep.py +++ b/Geometry/MTDCommonData/test/testMTDinDD4hep.py @@ -8,7 +8,7 @@ ) process.DDDetectorESProducer = cms.ESSource("DDDetectorESProducer", - confGeomXMLFiles = cms.FileInPath('Geometry/MTDCommonData/data/dd4hep/cms-mtd-geometry.xml'), + confGeomXMLFiles = cms.FileInPath('Geometry/MTDCommonData/data/dd4hep/cms-mtdD50-geometry.xml'), appendToDataLabel = cms.string('MTD') ) diff --git a/Geometry/MTDGeometryBuilder/test/python/testMTDGeometry.py b/Geometry/MTDGeometryBuilder/test/python/testMTDGeometry.py index 898c88f28c3da..b9e7b4ddb28b4 100644 --- a/Geometry/MTDGeometryBuilder/test/python/testMTDGeometry.py +++ b/Geometry/MTDGeometryBuilder/test/python/testMTDGeometry.py @@ -39,7 +39,7 @@ ) process.DDDetectorESProducer = cms.ESSource("DDDetectorESProducer", - confGeomXMLFiles = cms.FileInPath('Geometry/MTDCommonData/data/dd4hep/cms-mtd-geometry.xml'), + confGeomXMLFiles = cms.FileInPath('Geometry/MTDCommonData/data/dd4hep/cms-mtdD50-geometry.xml'), appendToDataLabel = cms.string('MTD') ) From a2dce6e0a9f7775dbe469371ad20ddf28ce1181a Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Thu, 23 Jan 2020 18:23:16 +0100 Subject: [PATCH 10/15] scram b code-format --- DataFormats/ForwardDetId/interface/ETLDetId.h | 13 ++++--- Geometry/MTDCommonData/plugins/DDMTDLinear.cc | 39 +++++++++++-------- .../MTDCommonData/src/ETLNumberingScheme.cc | 12 +++--- 3 files changed, 36 insertions(+), 28 deletions(-) diff --git a/DataFormats/ForwardDetId/interface/ETLDetId.h b/DataFormats/ForwardDetId/interface/ETLDetId.h index aa22cd62fdb2e..e573f66eee5c4 100644 --- a/DataFormats/ForwardDetId/interface/ETLDetId.h +++ b/DataFormats/ForwardDetId/interface/ETLDetId.h @@ -19,7 +19,7 @@ class ETLDetId : public MTDDetId { static const uint32_t kETLmodTypeOffset = 5; static const uint32_t kETLmodTypeMask = 0x3; - /// constants for the TDR ETL model + /// constants for the TDR ETL model static const uint32_t kETLnDiscOffset = 3; static const uint32_t kETLnDiscMask = 0x1; static const uint32_t kETLdiscSideOffset = 2; @@ -61,14 +61,17 @@ class ETLDetId : public MTDDetId { // meaningless for TP model // starting from 1 - inline int quarter() const { return ((((id_ >> kRodRingOffset) & kRodRingMask)-1) & kETLquarterMask)+1; } + inline int quarter() const { return ((((id_ >> kRodRingOffset) & kRodRingMask) - 1) & kETLquarterMask) + 1; } // 0 = front, 1 = back - inline int discSide() const { return ((((id_ >> kRodRingOffset) & kRodRingMask)-1) >> kETLdiscSideOffset) & kETLdiscSideMask; } + inline int discSide() const { + return ((((id_ >> kRodRingOffset) & kRodRingMask) - 1) >> kETLdiscSideOffset) & kETLdiscSideMask; + } // starting from 1 - inline int nDisc() const { return (((((id_ >> kRodRingOffset) & kRodRingMask)-1) >> kETLnDiscOffset) & kETLnDiscMask)+1; } - + inline int nDisc() const { + return (((((id_ >> kRodRingOffset) & kRodRingMask) - 1) >> kETLnDiscOffset) & kETLnDiscMask) + 1; + } }; std::ostream& operator<<(std::ostream&, const ETLDetId&); diff --git a/Geometry/MTDCommonData/plugins/DDMTDLinear.cc b/Geometry/MTDCommonData/plugins/DDMTDLinear.cc index 2e4c1d3b45de9..0f5f58768c6e9 100644 --- a/Geometry/MTDCommonData/plugins/DDMTDLinear.cc +++ b/Geometry/MTDCommonData/plugins/DDMTDLinear.cc @@ -22,7 +22,8 @@ using namespace angle_units::operators; class DDMTDLinear : public DDAlgorithm { public: - DDMTDLinear() : m_n(1), m_startCopyNo(1), m_incrCopyNo(1), m_theta(0.), m_phi(0.), m_delta(0.), m_phi_obj(0.), m_theta_obj(0.) {} + DDMTDLinear() + : m_n(1), m_startCopyNo(1), m_incrCopyNo(1), m_theta(0.), m_phi(0.), m_delta(0.), m_phi_obj(0.), m_theta_obj(0.) {} void initialize(const DDNumericArguments& nArgs, const DDVectorArguments& vArgs, @@ -48,10 +49,10 @@ class DDMTDLinear : public DDAlgorithm { }; void DDMTDLinear::initialize(const DDNumericArguments& nArgs, - const DDVectorArguments& vArgs, - const DDMapArguments&, - const DDStringArguments& sArgs, - const DDStringVectorArguments&) { + const DDVectorArguments& vArgs, + const DDMapArguments&, + const DDStringArguments& sArgs, + const DDStringVectorArguments&) { m_n = int(nArgs["N"]); m_startCopyNo = int(nArgs["StartCopyNo"]); m_incrCopyNo = int(nArgs["IncrCopyNo"]); @@ -66,8 +67,8 @@ void DDMTDLinear::initialize(const DDNumericArguments& nArgs, << "ing:: n " << m_n << " Direction Theta, Phi, Offset, Delta " << convertRadToDeg(m_theta) << " " << convertRadToDeg(m_phi) << " " << " " << convertRadToDeg(m_delta) << " Base " << m_base[0] << ", " << m_base[1] << ", " - << m_base[2] << "Objects placement Phi_obj, Theta_obj " << convertRadToDeg(m_phi_obj) - << " " << convertRadToDeg(m_theta_obj); + << m_base[2] << "Objects placement Phi_obj, Theta_obj " << convertRadToDeg(m_phi_obj) << " " + << convertRadToDeg(m_theta_obj); m_childNmNs = DDSplit(sArgs["ChildName"]); if (m_childNmNs.second.empty()) @@ -90,26 +91,32 @@ void DDMTDLinear::execute(DDCompactView& cpv) { //rotation is in xy plane long double x_phi = 0.5; double thetaZ = m_theta_obj - angle_units::operators::operator""_pi(x_phi); - double phiZ = m_phi_obj; - double thetaX = m_theta_obj; - double thetaY = m_theta_obj; - double phiX = m_phi_obj; - double phiY = m_phi_obj + angle_units::operators::operator""_pi(x_phi); + double phiZ = m_phi_obj; + double thetaX = m_theta_obj; + double thetaY = m_theta_obj; + double phiX = m_phi_obj; + double phiY = m_phi_obj + angle_units::operators::operator""_pi(x_phi); //DDRotation rotation = DDRotation("IdentityRotation"); this is the default rotation matrix in DDLinear DDRotation rotation = DDRotation("Rotation"); - if (!rotation) { LogDebug("DDAlgorithm") << "DDMTDLinear: Creating a new " << "rotation: IdentityRotation for " << ddname; - rotation = DDrot( "Rotation", DDcreateRotationMatrix(thetaX, phiX, thetaY, phiY, thetaZ, phiZ)); //rotation = DDrot("IdentityRotation", std::make_unique()); + rotation = DDrot( + "Rotation", + DDcreateRotationMatrix(thetaX, + phiX, + thetaY, + phiY, + thetaZ, + phiZ)); //rotation = DDrot("IdentityRotation", std::make_unique()); } for (int i = 0; i < m_n; ++i) { - DDTranslation tran = basetr + (double(i) * m_delta) * direction; - cpv.position(ddname, mother, copy, tran, rotation); + DDTranslation tran = basetr + (double(i) * m_delta) * direction; + cpv.position(ddname, mother, copy, tran, rotation); LogDebug("DDAlgorithm") << "DDMTDLinear: " << m_childNmNs.second << ":" << m_childNmNs.first << " number " << copy << " positioned in " << mother << " at " << tran << " with " << rotation; copy += m_incrCopyNo; diff --git a/Geometry/MTDCommonData/src/ETLNumberingScheme.cc b/Geometry/MTDCommonData/src/ETLNumberingScheme.cc index e614a72b33f84..bc609480129e2 100644 --- a/Geometry/MTDCommonData/src/ETLNumberingScheme.cc +++ b/Geometry/MTDCommonData/src/ETLNumberingScheme.cc @@ -35,23 +35,21 @@ uint32_t ETLNumberingScheme::getUnitID(const MTDBaseNumber& baseNumber) const { const bool preTDR = (baseNumber.getLevelName(3).find("Ring") != std::string::npos); const uint32_t modCopy(baseNumber.getCopyNumber(2)); - + const std::string& ringName(baseNumber.getLevelName(3)); // name of ring volume int modtyp(0); std::string baseName = ringName.substr(ringName.find(":") + 1); int ringCopy(::atoi(baseName.c_str() + 4)); - - if ( !preTDR) { + if (!preTDR) { uint32_t discN = (baseNumber.getLevelName(4).find("Disk1") != std::string::npos) ? 0 : 1; uint32_t quarterS = (baseNumber.getLevelName(3).find("Front") != std::string::npos) ? 0 : 1; uint32_t quarterN = baseNumber.getCopyNumber(3); const uint32_t quarterOffset = 4; - ringCopy = quarterN+quarterS*quarterOffset+2*quarterOffset*discN; - - modtyp = (baseNumber.getLevelName(2).find("_2") != std::string::npos ) ? 2 : 1; + ringCopy = quarterN + quarterS * quarterOffset + 2 * quarterOffset * discN; + modtyp = (baseNumber.getLevelName(2).find("_2") != std::string::npos) ? 2 : 1; } // Side choice: up to scenario D38 is given by level 7 (HGCal v9) @@ -89,7 +87,7 @@ uint32_t ETLNumberingScheme::getUnitID(const MTDBaseNumber& baseNumber) const { return 0; } - if ((preTDR && (1 > ringCopy || 11 < ringCopy)) || ( !preTDR && (1 > ringCopy || 16 < ringCopy))) { + if ((preTDR && (1 > ringCopy || 11 < ringCopy)) || (!preTDR && (1 > ringCopy || 16 < ringCopy))) { edm::LogWarning("MTDGeom") << "ETLNumberingScheme::getUnitID(): " << "****************** Bad ring copy = " << ringCopy << ", Volume Number = " << baseNumber.getCopyNumber(3); From 69df67b093b601419a5c13e81f795687d4d37e43 Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Fri, 24 Jan 2020 17:28:57 +0100 Subject: [PATCH 11/15] Technical cleaning of MTDCommonData plugin --- Geometry/MTDCommonData/plugins/BuildFile.xml | 20 ++++++------------- Geometry/MTDCommonData/plugins/DDMTDLinear.cc | 8 +++----- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/Geometry/MTDCommonData/plugins/BuildFile.xml b/Geometry/MTDCommonData/plugins/BuildFile.xml index cb9e5f6b4f370..68c97743eca7b 100644 --- a/Geometry/MTDCommonData/plugins/BuildFile.xml +++ b/Geometry/MTDCommonData/plugins/BuildFile.xml @@ -1,15 +1,7 @@ - - - - - - - - - - - - - - + + + + + + diff --git a/Geometry/MTDCommonData/plugins/DDMTDLinear.cc b/Geometry/MTDCommonData/plugins/DDMTDLinear.cc index 0f5f58768c6e9..e854044143fa5 100644 --- a/Geometry/MTDCommonData/plugins/DDMTDLinear.cc +++ b/Geometry/MTDCommonData/plugins/DDMTDLinear.cc @@ -10,7 +10,6 @@ #include "DetectorDescription/Core/interface/DDTranslation.h" #include "DetectorDescription/Core/interface/DDTypes.h" #include "DataFormats/Math/interface/GeantUnits.h" -#include "DataFormats/Math/interface/angle_units.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/PluginManager/interface/PluginFactory.h" @@ -89,20 +88,19 @@ void DDMTDLinear::execute(DDCompactView& cpv) { DDTranslation basetr(m_base[0], m_base[1], m_base[2]); //rotation is in xy plane - long double x_phi = 0.5; - double thetaZ = m_theta_obj - angle_units::operators::operator""_pi(x_phi); + double thetaZ = m_theta_obj - 0.5_pi; double phiZ = m_phi_obj; double thetaX = m_theta_obj; double thetaY = m_theta_obj; double phiX = m_phi_obj; - double phiY = m_phi_obj + angle_units::operators::operator""_pi(x_phi); + double phiY = m_phi_obj + 0.5_pi; //DDRotation rotation = DDRotation("IdentityRotation"); this is the default rotation matrix in DDLinear DDRotation rotation = DDRotation("Rotation"); if (!rotation) { LogDebug("DDAlgorithm") << "DDMTDLinear: Creating a new " - << "rotation: IdentityRotation for " << ddname; + << "rotation for " << ddname; rotation = DDrot( "Rotation", From 8410664f28e9c236be93fd3931e2991185470ba3 Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Sun, 26 Jan 2020 17:17:33 +0100 Subject: [PATCH 12/15] Address comments by K. Pedro, minor code cleaning --- DataFormats/ForwardDetId/interface/ETLDetId.h | 6 ++++++ Geometry/MTDCommonData/plugins/DDMTDLinear.cc | 10 +--------- Geometry/MTDCommonData/src/ETLNumberingScheme.cc | 6 ++++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/DataFormats/ForwardDetId/interface/ETLDetId.h b/DataFormats/ForwardDetId/interface/ETLDetId.h index e573f66eee5c4..d61e0926b45db 100644 --- a/DataFormats/ForwardDetId/interface/ETLDetId.h +++ b/DataFormats/ForwardDetId/interface/ETLDetId.h @@ -19,6 +19,9 @@ class ETLDetId : public MTDDetId { static const uint32_t kETLmodTypeOffset = 5; static const uint32_t kETLmodTypeMask = 0x3; + static constexpr int kETLv1maxRing = 11; + static constexpr int kETLv1maxModule = 176; + /// constants for the TDR ETL model static const uint32_t kETLnDiscOffset = 3; static const uint32_t kETLnDiscMask = 0x1; @@ -26,6 +29,9 @@ class ETLDetId : public MTDDetId { static const uint32_t kETLdiscSideMask = 0x1; static const uint32_t kETLquarterMask = 0x3; + static constexpr int kETLv2maxRing = 16; + static constexpr int kETLv2maxModule = 292; + // ---------- Constructors, enumerated types ---------- /** Construct a null id */ diff --git a/Geometry/MTDCommonData/plugins/DDMTDLinear.cc b/Geometry/MTDCommonData/plugins/DDMTDLinear.cc index e854044143fa5..37b1c03475a2b 100644 --- a/Geometry/MTDCommonData/plugins/DDMTDLinear.cc +++ b/Geometry/MTDCommonData/plugins/DDMTDLinear.cc @@ -95,21 +95,13 @@ void DDMTDLinear::execute(DDCompactView& cpv) { double phiX = m_phi_obj; double phiY = m_phi_obj + 0.5_pi; - //DDRotation rotation = DDRotation("IdentityRotation"); this is the default rotation matrix in DDLinear DDRotation rotation = DDRotation("Rotation"); if (!rotation) { LogDebug("DDAlgorithm") << "DDMTDLinear: Creating a new " << "rotation for " << ddname; - rotation = DDrot( - "Rotation", - DDcreateRotationMatrix(thetaX, - phiX, - thetaY, - phiY, - thetaZ, - phiZ)); //rotation = DDrot("IdentityRotation", std::make_unique()); + rotation = DDrot("Rotation", DDcreateRotationMatrix(thetaX, phiX, thetaY, phiY, thetaZ, phiZ)); } for (int i = 0; i < m_n; ++i) { diff --git a/Geometry/MTDCommonData/src/ETLNumberingScheme.cc b/Geometry/MTDCommonData/src/ETLNumberingScheme.cc index bc609480129e2..c0c4efb16e7f1 100644 --- a/Geometry/MTDCommonData/src/ETLNumberingScheme.cc +++ b/Geometry/MTDCommonData/src/ETLNumberingScheme.cc @@ -80,14 +80,16 @@ uint32_t ETLNumberingScheme::getUnitID(const MTDBaseNumber& baseNumber) const { return 0; } - if ((preTDR && (1 > modCopy || 176 < modCopy)) || (!preTDR && (1 > modCopy || 292 < modCopy))) { + if ((preTDR && (1 > modCopy || ETLDetId::kETLv1maxModule < modCopy)) || + (!preTDR && (1 > modCopy || ETLDetId::kETLv2maxModule < modCopy))) { edm::LogWarning("MTDGeom") << "ETLNumberingScheme::getUnitID(): " << "****************** Bad module copy = " << modCopy << ", Volume Number = " << baseNumber.getCopyNumber(4); return 0; } - if ((preTDR && (1 > ringCopy || 11 < ringCopy)) || (!preTDR && (1 > ringCopy || 16 < ringCopy))) { + if ((preTDR && (1 > ringCopy || ETLDetId::kETLv1maxRing < ringCopy)) || + (!preTDR && (1 > ringCopy || ETLDetId::kETLv2maxRing < ringCopy))) { edm::LogWarning("MTDGeom") << "ETLNumberingScheme::getUnitID(): " << "****************** Bad ring copy = " << ringCopy << ", Volume Number = " << baseNumber.getCopyNumber(3); From 6ceceaf856b7e6115de1cdaaa6376299c179b8e9 Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Sun, 26 Jan 2020 17:33:13 +0100 Subject: [PATCH 13/15] Add scenario D53 to StandardSequences list (fix unit test) --- Configuration/StandardSequences/python/GeometryConf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Configuration/StandardSequences/python/GeometryConf.py b/Configuration/StandardSequences/python/GeometryConf.py index 20d4045c74edf..dfc495b0e2d6c 100644 --- a/Configuration/StandardSequences/python/GeometryConf.py +++ b/Configuration/StandardSequences/python/GeometryConf.py @@ -40,4 +40,5 @@ 'Extended2026D50' : 'Extended2026D50,Extended2026D50Reco', 'Extended2026D51' : 'Extended2026D51,Extended2026D51Reco', 'Extended2026D52' : 'Extended2026D52,Extended2026D52Reco', + 'Extended2026D53' : 'Extended2026D53,Extended2026D53Reco', } From 6ea8b6542e44a169f46b7a2375bb6632ac022484 Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Mon, 27 Jan 2020 11:17:41 +0100 Subject: [PATCH 14/15] Turn the DDMTDLinear algorithm from global into mtd namespace --- Geometry/MTDCommonData/data/etl/v4/etl.xml | 356 +++++++++--------- Geometry/MTDCommonData/plugins/DDMTDLinear.cc | 2 +- 2 files changed, 179 insertions(+), 179 deletions(-) diff --git a/Geometry/MTDCommonData/data/etl/v4/etl.xml b/Geometry/MTDCommonData/data/etl/v4/etl.xml index 9be28616fce61..21f9b38a62901 100644 --- a/Geometry/MTDCommonData/data/etl/v4/etl.xml +++ b/Geometry/MTDCommonData/data/etl/v4/etl.xml @@ -527,7 +527,7 @@ - + @@ -540,7 +540,7 @@ - + @@ -553,7 +553,7 @@ - + @@ -566,7 +566,7 @@ - + @@ -579,7 +579,7 @@ - + @@ -592,7 +592,7 @@ - + @@ -605,7 +605,7 @@ - + @@ -618,7 +618,7 @@ - + @@ -631,7 +631,7 @@ - + @@ -644,7 +644,7 @@ - + @@ -657,7 +657,7 @@ - + @@ -670,7 +670,7 @@ - + @@ -683,7 +683,7 @@ - + @@ -696,7 +696,7 @@ - + @@ -709,7 +709,7 @@ - + @@ -722,7 +722,7 @@ - + @@ -735,7 +735,7 @@ - - + @@ -761,7 +761,7 @@ - + @@ -774,7 +774,7 @@ - + @@ -787,7 +787,7 @@ - + @@ -800,7 +800,7 @@ - + @@ -813,7 +813,7 @@ - + @@ -826,7 +826,7 @@ - + @@ -839,7 +839,7 @@ - + @@ -852,7 +852,7 @@ - + @@ -865,7 +865,7 @@ - + @@ -878,7 +878,7 @@ - + @@ -891,7 +891,7 @@ - + @@ -904,7 +904,7 @@ - + @@ -917,7 +917,7 @@ - + @@ -930,7 +930,7 @@ - + @@ -943,7 +943,7 @@ - + @@ -956,7 +956,7 @@ - + @@ -969,7 +969,7 @@ - + @@ -982,7 +982,7 @@ - + @@ -995,7 +995,7 @@ - + @@ -1008,7 +1008,7 @@ - + @@ -1021,7 +1021,7 @@ - + @@ -1034,7 +1034,7 @@ - + @@ -1047,7 +1047,7 @@ - + @@ -1060,7 +1060,7 @@ - + @@ -1073,7 +1073,7 @@ - + @@ -1086,7 +1086,7 @@ - + @@ -1102,7 +1102,7 @@ - + @@ -1115,7 +1115,7 @@ - + @@ -1128,7 +1128,7 @@ - + @@ -1141,7 +1141,7 @@ - + @@ -1154,7 +1154,7 @@ - + @@ -1167,7 +1167,7 @@ - + @@ -1180,7 +1180,7 @@ - + @@ -1193,7 +1193,7 @@ - + @@ -1206,7 +1206,7 @@ - + @@ -1219,7 +1219,7 @@ - + @@ -1232,7 +1232,7 @@ - + @@ -1245,7 +1245,7 @@ - + @@ -1258,7 +1258,7 @@ - + @@ -1271,7 +1271,7 @@ - + @@ -1284,7 +1284,7 @@ - + @@ -1297,7 +1297,7 @@ - + @@ -1310,7 +1310,7 @@ - + @@ -1323,7 +1323,7 @@ - + @@ -1336,7 +1336,7 @@ - + @@ -1349,7 +1349,7 @@ - + @@ -1362,7 +1362,7 @@ - + @@ -1375,7 +1375,7 @@ - + @@ -1388,7 +1388,7 @@ - + @@ -1401,7 +1401,7 @@ - + @@ -1414,7 +1414,7 @@ - + @@ -1427,7 +1427,7 @@ - + @@ -1440,7 +1440,7 @@ - + @@ -1453,7 +1453,7 @@ - + @@ -1466,7 +1466,7 @@ - + @@ -1479,7 +1479,7 @@ - + @@ -1492,7 +1492,7 @@ - + @@ -1505,7 +1505,7 @@ - + @@ -1518,7 +1518,7 @@ - + @@ -1531,7 +1531,7 @@ - + @@ -1544,7 +1544,7 @@ - + @@ -1557,7 +1557,7 @@ - + @@ -1570,7 +1570,7 @@ - + @@ -1583,7 +1583,7 @@ - + @@ -1596,7 +1596,7 @@ - - + @@ -1622,7 +1622,7 @@ - + @@ -1635,7 +1635,7 @@ - + @@ -1648,7 +1648,7 @@ - + @@ -1661,7 +1661,7 @@ - + @@ -1674,7 +1674,7 @@ - + @@ -1690,7 +1690,7 @@ - + @@ -1703,7 +1703,7 @@ - + @@ -1716,7 +1716,7 @@ - + @@ -1729,7 +1729,7 @@ - + @@ -1742,7 +1742,7 @@ - + @@ -1755,7 +1755,7 @@ - + @@ -1768,7 +1768,7 @@ - + @@ -1781,7 +1781,7 @@ - + @@ -1794,7 +1794,7 @@ - + @@ -1807,7 +1807,7 @@ - + @@ -1820,7 +1820,7 @@ - + @@ -1833,7 +1833,7 @@ - + @@ -1846,7 +1846,7 @@ - + @@ -1859,7 +1859,7 @@ - + @@ -1872,7 +1872,7 @@ - + @@ -1885,7 +1885,7 @@ - + @@ -1898,7 +1898,7 @@ - - + @@ -1924,7 +1924,7 @@ - + @@ -1937,7 +1937,7 @@ - + @@ -1950,7 +1950,7 @@ - + @@ -1963,7 +1963,7 @@ - + @@ -1976,7 +1976,7 @@ - + @@ -1989,7 +1989,7 @@ - + @@ -2002,7 +2002,7 @@ - + @@ -2015,7 +2015,7 @@ - + @@ -2028,7 +2028,7 @@ - + @@ -2041,7 +2041,7 @@ - + @@ -2054,7 +2054,7 @@ - + @@ -2067,7 +2067,7 @@ - + @@ -2080,7 +2080,7 @@ - + @@ -2093,7 +2093,7 @@ - + @@ -2106,7 +2106,7 @@ - + @@ -2119,7 +2119,7 @@ - + @@ -2132,7 +2132,7 @@ - + @@ -2145,7 +2145,7 @@ - + @@ -2158,7 +2158,7 @@ - + @@ -2171,7 +2171,7 @@ - + @@ -2184,7 +2184,7 @@ - + @@ -2197,7 +2197,7 @@ - + @@ -2210,7 +2210,7 @@ - + @@ -2223,7 +2223,7 @@ - + @@ -2236,7 +2236,7 @@ - + @@ -2249,7 +2249,7 @@ - + @@ -2265,7 +2265,7 @@ - + @@ -2278,7 +2278,7 @@ - + @@ -2291,7 +2291,7 @@ - + @@ -2304,7 +2304,7 @@ - + @@ -2317,7 +2317,7 @@ - + @@ -2330,7 +2330,7 @@ - + @@ -2343,7 +2343,7 @@ - + @@ -2356,7 +2356,7 @@ - + @@ -2369,7 +2369,7 @@ - + @@ -2382,7 +2382,7 @@ - + @@ -2395,7 +2395,7 @@ - + @@ -2408,7 +2408,7 @@ - + @@ -2421,7 +2421,7 @@ - + @@ -2434,7 +2434,7 @@ - + @@ -2447,7 +2447,7 @@ - + @@ -2460,7 +2460,7 @@ - + @@ -2473,7 +2473,7 @@ - + @@ -2486,7 +2486,7 @@ - + @@ -2499,7 +2499,7 @@ - + @@ -2512,7 +2512,7 @@ - + @@ -2525,7 +2525,7 @@ - + @@ -2538,7 +2538,7 @@ - + @@ -2551,7 +2551,7 @@ - + @@ -2564,7 +2564,7 @@ - + @@ -2577,7 +2577,7 @@ - + @@ -2590,7 +2590,7 @@ - + @@ -2603,7 +2603,7 @@ - + @@ -2616,7 +2616,7 @@ - + @@ -2629,7 +2629,7 @@ - + @@ -2642,7 +2642,7 @@ - + @@ -2655,7 +2655,7 @@ - + @@ -2668,7 +2668,7 @@ - + @@ -2681,7 +2681,7 @@ - + @@ -2694,7 +2694,7 @@ - + @@ -2707,7 +2707,7 @@ - + @@ -2720,7 +2720,7 @@ - + @@ -2733,7 +2733,7 @@ - + @@ -2746,7 +2746,7 @@ - + @@ -2759,7 +2759,7 @@ - - + @@ -2785,7 +2785,7 @@ - + @@ -2798,7 +2798,7 @@ - + @@ -2811,7 +2811,7 @@ - + @@ -2824,7 +2824,7 @@ - + @@ -2837,7 +2837,7 @@ - + diff --git a/Geometry/MTDCommonData/plugins/DDMTDLinear.cc b/Geometry/MTDCommonData/plugins/DDMTDLinear.cc index 37b1c03475a2b..ee8774745bf7e 100644 --- a/Geometry/MTDCommonData/plugins/DDMTDLinear.cc +++ b/Geometry/MTDCommonData/plugins/DDMTDLinear.cc @@ -113,4 +113,4 @@ void DDMTDLinear::execute(DDCompactView& cpv) { } } -DEFINE_EDM_PLUGIN(DDAlgorithmFactory, DDMTDLinear, "global:DDMTDLinear"); +DEFINE_EDM_PLUGIN(DDAlgorithmFactory, DDMTDLinear, "mtd:DDMTDLinear"); From c3dae8cb9753c54c7aeae5d72cf3b2aba8d3a9ac Mon Sep 17 00:00:00 2001 From: Fabio Cossutti Date: Mon, 27 Jan 2020 13:23:34 +0100 Subject: [PATCH 15/15] Clean mtdMaterial.xml for unused elementary materials inherited by tkLayout --- .../data/mtdMaterial/v2/mtdMaterial.xml | 139 ------------------ 1 file changed, 139 deletions(-) diff --git a/Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml b/Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml index a1d9959960f5f..29416f4aae673 100644 --- a/Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml +++ b/Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml @@ -2,148 +2,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -