Pixel size 8 x 4 mm2 Low resolution: 128 x 128 Pixel size 8 x 8 mm2 Right detector: Same orientation of tubes, same size of pixels Only 96 tubes instead of 128 tubes in the main detector For more information, please visit https://www.ill.eu/instruments-support/instruments-groups/instruments/d22/characteristics/ """ d22 = MantidGeom(instrumentName, comment=comment, valid_from=validFrom) d22.addSnsDefaults(default_view='3D',axis_view_3d='z-') d22.addComment("SOURCE") d22.addComponentILL("moderator", 0., 0., moderator_source, "Source") d22.addComment("Sample position") d22.addComponentILL("sample_position", 0., 0., 0., "SamplePos") d22.addComment("MONITORS") d22.addMonitors(names=["monitor1", "monitor2"], distance=[zMon1, zMon2]) d22.addComment("MONITOR SHAPE") d22.addDummyMonitor(0.01, 0.03) d22.addComment("MONITOR IDs") d22.addMonitorIds([repr(100000), repr(100001)]) d22.addComment("DETECTOR") d22.addComponentILL("detector", 0., 0., 0.) detector = d22.makeTypeElement("detector") d22.addComponentRectangularDetector(detector0, 0., 0., zPos, idstart=id0, idfillbyfirst=FF, idstepbyrow=SR, root=detector) d22.addComponentRectangularDetector(detector1, -right_center_offset, 0., zPos-z_gap, idstart=id1, idfillbyfirst=FF, idstepbyrow=SR, root=detector) d22.addRectangularDetector(detector0, pixelName, xstart, xstep, xpixels, ystart, ystep, ypixels) d22.addRectangularDetector(detector1, pixelName, xstart_right, xstep, xpixels_right, ystart, ystep, ypixels)
It consists of 64 horizontal tubes, each has a height of 7.4 mm It consists of 256 pixels, each about 1.2 mm wide Beam area at sample position 40 mm x 10 mm (width x height) Scattering plane is vertical Q-range, up 0.0045 - 0.42 A-1 Q-range, down 0.0045 - 0.27 A-1 For more information, please visit https://www.ill.eu/instruments-support/instruments-groups/instruments/figaro/characteristics/ """ figaro = MantidGeom(instrumentName, comment=comment, valid_from=validFrom) figaro.addSnsDefaults(theta_sign_axis='y') figaro.addComment("SOURCE") figaro.addComponentILL("chopper1", 0.0, 0.0, zSource, "Source") figaro.addComment("Sample position") figaro.addComponentILL("sample_position", 0.0, 0.0, 0.0, "SamplePos") figaro.addComment("MONITORS") figaro.addMonitors(names=["monitor1", "monitor2"], distance=[zMon1, zMon2]) figaro.addComment("MONITOR SHAPE") figaro.addComment("FIXME: Do something real here.") figaro.addDummyMonitor(0.01, 0.03) figaro.addComment("MONITOR IDs") figaro.addMonitorIds(["100000", "100001"]) figaro.addComment("2 Slits") figaro.addComponentILL("slit2", 0.0, 0.0, slit2Centre) figaro.makeTypeElement("slit2") figaro.addComponentILL("slit3", 0.0, 0.0, slit3Centre) figaro.makeTypeElement("slit3") figaro.addComment("DETECTORS")
Two detector multi-tube detectors Sample-detector distances range from 1.2 m to 12.8 m Detector 1 (rear): Single panel mono-block size 640 x 640 mm Pixel size 5 x 5 mm^2 ( 128 x 128 pixels ) Detector 2 (front): 4-panel mono-block, size 160 x 640 mm per panel Pixel size 5 x 5 mm^2 ( 32 x 128 pixels ) For more information, please visit https://www.ill.eu/instruments-support/instruments-groups/instruments/d33/characteristics/ """ d33 = MantidGeom(instrumentName, comment=comment, valid_from=validFrom) d33.addSnsDefaults(default_view='3D', axis_view_3d='z-') d33.addComment("SOURCE") d33.addComponentILL("moderator", 0., 0., moderator_source, "Source") d33.addComment("Sample position") d33.addComponentILL("sample_position", 0., 0., 0., "SamplePos") d33.addComment("MONITORS") d33.addMonitors(names=["monitor1", "monitor2"], distance=[zMon1, zMon2]) d33.addComment("MONITOR SHAPE") d33.addComment("FIXME: Do something real here.") d33.addDummyMonitor(0.01, 0.03) d33.addComment("MONITOR IDs") d33.addMonitorIds([repr(500000), repr(500001)]) d33.addComment("DETECTORS") d33.addComponentILL("detector", 0., 0., 0.) detector = d33.makeTypeElement("detector") d33.addComponentRectangularDetector(detector0, 0., 0.,
boxGapAngle = 1.03 boxAngleWidth = 16.06 tubeAngleStep = boxAngleWidth / (numberOfTubesPerBox - 1) boxAngles = list() firstBoxCenterAngle = -0.5 * (boxAngleWidth + boxGapAngle) for i in range(numberOfBoxes): boxAngles.append(firstBoxCenterAngle + i * (boxAngleWidth + boxGapAngle)) comment = """ This is the instrument definition file of the PANTHER spectrometer at the ILL. This file was automatically generated by mantidgeometry/ILL/IDF/panther_generateIDF.py """ validFrom = '1900-01-31 23:59:59' geometry = MantidGeom(instrumentName, comment=comment, valid_from=validFrom) geometry.addSnsDefaults(theta_sign_axis='x') geometry.addComponentILL('fermi_chopper', 0.0, 0.0, -l1, 'Source') geometry.addComponentILL('sample-position', 0.0, 0.0, 0.0, 'SamplePos') geometry.addMonitors(names=['monitor'], distance=[monitorZ]) geometry.addDummyMonitor(0.01, 0.03) geometry.addMonitorIds(['100000']) geometry.addCylinderPixelAdvanced( 'pixel', center_bottom_base={'x': 0., 'y': 0., 'z': -pixelHeight / 2.}, axis={'x': 0., 'y': 1., 'z': 0.}, pixel_radius=pixelRadius, pixel_height=pixelHeight, algebra='pixel_shape') root = geometry.getRoot() bank = le.SubElement(root, 'type', name='bank') tubes = le.SubElement(bank, 'component', type='tube') for boxIndex, boxAngle in enumerate(boxAngles): for tubeIndex in range(numberOfTubesPerBox): tubeAngle = boxAngle - boxAngleWidth / 2. + tubeIndex * tubeAngleStep
Multi-detector: Size 1024 mm x 1024 mm Nominal resolution: 128 x 256 Pixel size 8 x 4 mm2 Low resolution: 128 x 128 Pixel size 8 x 8 mm2 For more information, please visit https://www.ill.eu/instruments-support/instruments-groups/instruments/d22/characteristics/ """ d22 = MantidGeom(instrumentName, comment=comment, valid_from=validFrom) d22.addSnsDefaults() d22.addComment("SOURCE") d22.addComponentILL("moderator", 0., 0., moderator_source, "Source") d22.addComment("Sample position") d22.addComponentILL("sample_position", 0., 0., 0., "SamplePos") d22.addComment("MONITORS") d22.addMonitors(names=["monitor1", "monitor2"], distance=[zMon1, zMon2]) d22.addComment("MONITOR SHAPE") d22.addComment("FIXME: Do something real here.") d22.addDummyMonitor(0.01, 0.03) d22.addComment("MONITOR IDs") d22.addMonitorIds([repr(100000), repr(100001)]) d22.addComment("DETECTOR") d22.addComponentRectangularDetector(detector0, 0., 0., zPos, idstart=id0, idfillbyfirst=FF, idstepbyrow=SR) d22.addRectangularDetector(detector0, pixelName, xstart, xstep, xpixels, ystart, ystep, ypixels) d22.addComment("PIXEL, EACH PIXEL IS A DETECTOR") d22.addCuboidPixel(pixelName, [-x, -y, z], [x, y, z], [-x, -y, thickness], [x, -y, z], shape_id="pixel-shape") d22.writeGeom("./ILL/IDF/" + instrumentName + "_Definition.xml")
This is the instrument definition file of the Generated file, PLEASE DO NOT EDIT THIS FILE! This file was automatically generated by mantidgeometry/ILL/IDF/salsa_generateIDF.py For more information, please visit https://www.ill.eu/instruments-support/instruments-groups/instruments/salsa/characteristics/ """ # Instrument creation salsa = MantidGeom(instrumentName, comment=comment, valid_from=validFrom) salsa.addSnsDefaults(default_view='spherical_y', axis_view_3d='z-', theta_sign_axis="x") salsa.addComment("SOURCE") salsa.addComponentILL("monochromator", 0., 0., zSource, "Source") # Sample is set as the origin salsa.addComment("Sample position") salsa.addComponentILL("sample_position", 0., 0., 0., "SamplePos") salsa.addComment("MONITORS") salsa.addMonitors(names=["monitor"], distance=[zMonitor]) salsa.addComment("MONITOR SHAPE") salsa.addDummyMonitor(0.01, 0.01) salsa.addComment("MONITOR IDs") salsa.addMonitorIds([repr(256 * 256)]) salsa.addComment("DETECTOR") salsa.addRectangularDetector(detector0, pixelName, xstart, xstep, xpixels, ystart, ystep, ypixels)
in16b = MantidGeom(instrument_name, comment=comment, valid_from=valid_from) in16b.addSnsDefaults(default_view='3D', axis_view_3d='z-', theta_sign_axis="x") in16b.addComment("Sample position") in16b.addSamplePosition() in16b.addComment("Chopper position") in16b.addModerator(distance=chopper_to_sample, name="chopper") in16b.addComment("MONITOR") in16b.addMonitors(names=["monitor"], distance=[monitor_to_sample]) in16b.addDummyMonitor(0.001, 0.001) in16b.addMonitorIds([0]) in16b.addComment("Detector") in16b.addComponentILL("detector", 0, 0, 0) detector = in16b.makeTypeElement("detector") # create tubes id lists for i in range(number_of_tubes): in16b.addDetectorIds("tube_{0}_ids".format(i + 1), [pixel_per_tube * i + 1, pixel_per_tube * (i + 1), 1]) # create standard tube component and place them tube = in16b.makeTypeElement("tube") for i in range(number_of_tubes): current_tube = in16b.addComponent('tube', idlist="tube_{0}_ids".format(i + 1), root=detector) in16b.addLocation(root=current_tube, x=0,
Beam area at sample position 10 mm x 50 mm (width x height) Q-range 0.002 - 2 A-1 Collimation Slits generally do not move (no motor attached) Slit separation 3.4 m Slit 2 to sample distance: 3.605 m Slit 3 to sample distance: 0.205 m For more information, please visit https://www.ill.eu/instruments-support/instruments-groups/instruments/d17/characteristics/ """ d17 = MantidGeom(instrumentName, comment=comment, valid_from=validFrom) d17.addSnsDefaults(theta_sign_axis='x') d17.addComment("SOURCE") d17.addComponentILL("chopper1", 0.0, 0.0, chop1_source, "Source") d17.addComment("Sample position") d17.addComponentILL("sample_position", 0.0, 0.0, 0.0, "SamplePos") d17.addComment("MONITORS") d17.addMonitors(names=["monitor1", "monitor2"], distance=[zMon1, zMon2]) d17.addComment("MONITOR SHAPE") d17.addComment("FIXME: Do something real here.") d17.addDummyMonitor(0.01, 0.03) d17.addComment("MONITOR IDs") d17.addMonitorIds(["100000", "100001"]) d17.addComment("2 Slits") d17.addComponentILL("slit2", 0.0, 0.0, slit2Centre) d17.makeTypeElement("slit2") d17.addComponentILL("slit3", 0.0, 0.0, slit3Centre) d17.makeTypeElement("slit3") d17.addComment("DETECTORS")
equator = float(args.EquatorialPixel) pixelHeight = tubeHeight / numberOfPixelsPerTube tubeVerticalShift = (numberOfPixelsPerTube / 2 - equator) * pixelHeight monitorZ = -0.362 pixelSpacingDegrees = 0.605 tubeAngles = np.linspace(0., (numberOfTubes - 1) * pixelSpacingDegrees, numberOfTubes) comment = """ This is the instrument definition file of the SHARP spectrometer at the ILL. Generated file, PLEASE DO NOT EDIT THIS FILE! This file was automatically generated by mantidgeometry/ILL/IDF/sharp_generateIDF.py """ geometry = MantidGeom(instrumentName, comment=comment, valid_from=valid_from) geometry.addSnsDefaults(theta_sign_axis='x') geometry.addComponentILL('fermi_chopper', 0.0, 0.0, -l1, 'Source') geometry.addComponentILL('sample-position', 0.0, 0.0, 0.0, 'SamplePos') geometry.addMonitors(names=['monitor'], distance=[monitorZ]) geometry.addDummyMonitor(0.009, 0.036) # the real radius is 0.09 geometry.addMonitorIds(['100000']) geometry.addCylinderPixelAdvanced('pixel', center_bottom_base={ 'x': 0., 'y': -pixelHeight / 2., 'z': 0. }, axis={ 'x': 0., 'y': 1., 'z': 0. },
Two detector multi-tube detectors Sample-detector distances range from 1.2 m to 12.8 m Detector 1 (rear): Single panel mono-block size 640 x 640 mm Pixel size 5 x 5 mm^2 ( 128 x 128 pixels ) Detector 2 (front): 4-panel mono-block, size 160 x 640 mm per panel Pixel size 5 x 5 mm^2 ( 32 x 128 pixels ) For more information, please visit https://www.ill.eu/instruments-support/instruments-groups/instruments/d33/characteristics/ """ d33 = MantidGeom(instrumentName, comment=comment, valid_from=validFrom) d33.addSnsDefaults() d33.addComment("SOURCE") d33.addComponentILL("moderator", 0., 0., moderator_source, "Source") d33.addComment("Sample position") d33.addComponentILL("sample_position", 0., 0., 0., "SamplePos") d33.addComment("MONITORS") d33.addMonitors(names=["monitor1", "monitor2"], distance=[zMon1, zMon2]) d33.addComment("MONITOR SHAPE") d33.addComment("FIXME: Do something real here.") d33.addDummyMonitor(0.01, 0.03) d33.addComment("MONITOR IDs") d33.addMonitorIds([repr(500000), repr(500001)]) d33.addComment("DETECTORS") d33.addComponentILL("detector", 0., 0., 0.) detector = d33.makeTypeElement("detector") d33.addComponentRectangularDetector(detector0, 0., 0., zPosRear, idstart=id0, idfillbyfirst=FF, idstepbyrow=SR, root=detector) d33.addComponentILL("front_detector", 0., 0., 0., root=detector) front_detector = d33.makeTypeElement("front_detector")
x_gap) xstep_right = xstep_left xpixels_right = xpixels_left ystart_right = ystart_left ystep_right = ystep_left ypixels_right = ypixels_left comment = """ This is the instrument definition file of the D11B SANS instrument at the ILL. Generated file, PLEASE DO NOT EDIT THIS FILE! This file was automatically generated by mantidgeometry/ILL/IDF/d11b_generateIDF.py > python3 ./ILL/IDF/d11b_generateIDF.py """ d11b = MantidGeom(instrument_name, comment=comment, valid_from=valid_from) d11b.addSnsDefaults(default_view='3D', axis_view_3d='z-') d11b.addComment("SOURCE") d11b.addComponentILL("monochromator", 0., 0., monochromator_source, "source") d11b.addComment("Sample position") d11b.addComponentILL("sample_position", 0., 0., 0., "SamplePos") d11b.addComment("MONITORS") d11b.addMonitors(names=["monitor1", "monitor2"], distance=[zMon1, zMon2]) d11b.addComment("MONITOR SHAPE") d11b.addDummyMonitor(0.01, 0.03) d11b.addComment("MONITOR IDs") d11b.addMonitorIds([repr(100000), repr(100001)]) d11b.addComment("DETECTORS") d11b.addComponentILL("detector", 0., 0., 0.) detector = d11b.makeTypeElement("detector") d11b.addComponentRectangularDetector(detector0, 0., 0., distance,
# Don't touch! azimuthalAngle = [ -11.9175, -11.5451, -11.1727, -10.8003, -10.4279, -10.0554, -9.68300, -9.31058, -8.93816, -8.56573, -8.19331, -7.82089, -7.44846, -7.07604, -6.70362, -6.33119, -5.95877, -5.58635, -5.21393, -4.84150, -4.46908, -4.09666, -3.72423, -3.35181, -2.97939, -2.60696, -2.23454, -1.86212, -1.48969, -1.11727, -0.744846, -0.372423, 0.372423, 0.744847, 1.11727, 1.48969, 1.86212, 2.23454, 2.60696, 2.97939, 3.35181, 3.72423, 4.09666, 4.46908, 4.84150, 5.21393, 5.58635, 5.95877, 6.33119, 6.70362, 7.07604, 7.44846, 7.82089, 8.19331, 8.56573, 8.93816, 9.31058, 9.68300, 10.0554, 10.4279, 10.8003, 11.1727, 11.5451, 11.9175, 12.6624, 13.0348, 13.4072, 13.7797, 14.1521, 14.5245, 14.8969, 15.2694, 15.6418, 16.0142, 16.3866, 16.7590, 17.1315, 17.5039, 17.8763, 18.2487, 18.6212, 18.9936, 19.3660, 19.7384, 20.1109, 20.4833, 20.8557, 21.2281, 21.6005, 21.9730, 22.3454, 22.7178, 23.0902, 23.4627, 23.8351, 24.2075, 24.9524, 25.3248, 25.6972, 26.0696, 26.4420, 26.8145, 27.1869, 27.5593, 27.9317, 28.3042, 28.6766, 29.0490, 29.4214, 29.7939, 30.1663, 30.5387, 30.9111, 31.2836, 31.6560, 32.0284, 32.4008, 32.7732, 33.1457, 33.5181, 33.8905, 34.2629, 34.6354, 35.0078, 35.3802, 35.7526, 36.1251, 36.4975, 37.2423, 37.6147, 37.9872, 38.3596, 38.7320, 39.1044, 39.4769, 39.8493, 40.2217, 40.5941, 40.9666, 41.3390, 41.7114, 42.0838, 42.4562, 42.8287, 43.2011, 43.5735, 43.9459, 44.3184, 44.6908, 45.0632, 45.4356, 45.8081, 46.1805, 46.5529, 46.9253, 47.2978, 47.6702, 48.0426, 48.4150, 48.7874, 49.5323, 49.9047, 50.2771, 50.6496, 51.0220, 51.3944, 51.7668, 52.1393, 52.5117, 52.8841, 53.2565, 53.6289, 54.0014, 54.3738, 54.7462, 55.1186, 55.4911, 55.8635, 56.2359, 56.6083, 56.9808, 57.3532, 57.7256, 58.0980, 58.4704, 58.8429, 59.2153, 59.5877, 59.9601, 60.3326, 60.7050, 61.0774, 61.8223, 62.1947, 62.5671, 62.9395, 63.3120, 63.6844, 64.0568, 64.4292, 64.8017, 65.1741, 65.5465, 65.9189, 66.2913, 66.6638, 67.0362, 67.4086, 67.7810, 68.1535, 68.5259, 68.8983, 69.2707, 69.6432, 70.0156, 70.3880, 70.7604, 71.1328, 71.5053, 71.8777, 72.2501, 72.6225, 72.9950, 73.3674, 74.1122, 74.4846, 74.8571, 75.2295, 75.6019, 75.9743, 76.3468, 76.7192, 77.0916, 77.4640, 77.8365, 78.2089, 78.5813, 78.9537, 79.3262, 79.6986, 80.0710, 80.4434, 80.8158, 81.1883, 81.5607, 81.9331, 82.3055, 82.6780, 83.0504, 83.4228, 83.7952, 84.1677, 84.5401, 84.9125, 85.2849, 85.6573, 86.4022, 86.7746, 87.1470, 87.5195, 87.8919, 88.2643, 88.6367, 89.0092, 89.3816, 89.7540, 90.1264, 90.4989, 90.8713, 91.2437, 91.6161, 91.9885, 92.3610, 92.7334, 93.1058, 93.4782, 93.8507, 94.2231, 94.5955, 94.9679, 95.3404, 95.7128, 96.0852, 96.4576, 96.8300, 97.2025, 97.5749, 97.9473, 98.6922, 99.0646, 99.4370, 99.8094, 100.182, 100.554, 100.927, 101.299, 101.672, 102.044, 102.416, 102.789, 103.161, 103.534, 103.906, 104.279, 104.651, 105.023, 105.396, 105.768, 106.141, 106.513, 106.885, 107.258, 107.630, 108.003, 108.375, 108.748, 109.120, 109.492, 109.865, 110.237, 110.982, 111.355, 111.727, 112.099, 112.472, 112.844, 113.217, 113.589, 113.962, 114.334, 114.706, 115.079, 115.451, 115.824, 116.196, 116.568, 116.941, 117.313, 117.686, 118.058, 118.431, 118.803, 119.175, 119.548, 119.920, 120.293, 120.665, 121.038, 121.410, 121.782, 122.155, 122.527, 123.272, 123.645, 124.017, 124.389, 124.762, 125.134, 125.507, 125.879, 126.251, 126.624, 126.996, 127.369, 127.741, 128.114, 128.486, 128.858, 129.231, 129.603, 129.976, 130.348, 130.721, 131.093, 131.465, 131.838, 132.210, 132.583, 132.955, 133.328, 133.700, 134.072, 134.445, 134.817] azimuthalAngle.reverse() numberOfTubes = len(azimuthalAngle) numberOfDetectors = numberOfPixelsPerTube * numberOfTubes frameOverlapChopperZ = -2.10945 monitorZ = -0.5 comment = """ This is the instrument definition file of the IN5 spectrometer at the ILL. This file was automatically generated by mantidgeometry/ILL/IDF/in5_generateIDF.py """ validFrom = '1900-01-31 23:59:59' geometry = MantidGeom(instrumentName, comment=comment, valid_from=validFrom) geometry.addSnsDefaults(theta_sign_axis='x') geometry.addComponentILL('frame-overlap_chopper', 0.0, 0.0, frameOverlapChopperZ, 'Source') geometry.addComponentILL('sample-position', 0.0, 0.0, 0.0, 'SamplePos') geometry.addMonitors(names=['monitor'], distance=[monitorZ]) geometry.addDummyMonitor(0.01, 0.03) geometry.addMonitorIds(['100000']) pixelBase = {'x': 0., 'y': -tubePixelStep / 2., 'z': 0.} geometry.addCylinderPixelAdvanced( 'standard_pixel', center_bottom_base=pixelBase, axis={'x': 0., 'y': 1., 'z': 0.}, pixel_radius=pixelRadius, pixel_height=tubePixelStep, algebra='pixel_shape') root = geometry.getRoot() bank = le.SubElement(root, 'type', name='bank_uniq') tubes = le.SubElement(bank, 'component', type='standard_tube') for index, angle in enumerate(azimuthalAngle): attributes = {
- wavelength 5.7 A, qmin = 0.2, qmax = 2.1 - Spectroscopy time-of-flight - using Fermi chopper, with the same possible wavelengths Source-to-sample distance is 0.48 m Three detector banks with 44 position-insensitive He3 detectors each Each detector located 1.5 m from the sample covering 2 Theta range from about 10 to 155 degrees Detector tubes have 25 mm in diameter and are 250 mm in height For more information, please visit https://www.ill.eu/instruments-support/instruments-groups/instruments/d7/characteristics/ """ d7 = MantidGeom(instrumentName, comment=comment, valid_from=validFrom) d7.addSnsDefaults(default_view='3D', axis_view_3d='z-', theta_sign_axis="x") d7.addComment("SOURCE") d7.addComponentILL('SOURCE', 0.0, 0.0, source, 'Source') d7.addComment("Sample position") d7.addComponentILL("sample_position", 0., 0., 0., "SamplePos") d7.addComment("MONITORS") d7.addMonitors(names=["monitor1", "monitor2"], distance=[zMon1, zMon2]) d7.addComment("MONITOR SHAPE") d7.addComment("FIXME: Do something real here.") d7.addDummyMonitor(0.01, 0.03) d7.addComment("MONITOR IDs") d7.addMonitorIds([repr(100000), repr(100001)]) d7.addComment("DETECTORS") d7.addComponentILL("detector", 0., 0., 0.) detector = d7.makeTypeElement("detector") # define detector banks d7.addDetectorIds("bank2_ids", [1, 44, 1])
Distance to sample: 0.3 to 1 m Single panel mono-block: 320 mm x 320 mm Rotation: -5 < 2*theta < 125 Pixel size 1 x 1 mm^2 ( 320 x 320 pixels ) For more information, please visit https://www.ill.eu/instruments-support/instruments-groups/instruments/d16/characteristics/ """ # Instrument creation d16 = MantidGeom(instrumentName, comment=comment, valid_from=validFrom) d16.addSnsDefaults(default_view='3D', axis_view_3d='z-', theta_sign_axis="x") d16.addComment("SOURCE") d16.addComponentILL("monochromator", 0., 0., monochromator_source, "Source") # Sample is set as the origin d16.addComment("Sample position") d16.addComponentILL("sample_position", 0., 0., 0., "SamplePos") d16.addComment("MONITORS") d16.addMonitors(names=["monitor1", "monitor2"], distance=[zMon1, zMon2]) d16.addComment("MONITOR SHAPE") d16.addDummyMonitor(0.01, 0.01) d16.addComment("MONITOR IDs") d16.addMonitorIds([repr(500000), repr(500001)]) d16.addComment("DETECTOR") d16.addComponentRectangularDetector(detector0, 0., 0., -zPosDetector, idstart=id0, idfillbyfirst=FF, idstepbyrow=SR) d16.addRectangularDetector(detector0, pixelName, xstart, xstep, xpixels, ystart, ystep, ypixels)