diff --git a/mxcubecore/HardwareObjects/ALBA/ALBACollect.py b/mxcubecore/HardwareObjects/ALBA/ALBACollect.py index 934f9136b4..ecfa04b286 100644 --- a/mxcubecore/HardwareObjects/ALBA/ALBACollect.py +++ b/mxcubecore/HardwareObjects/ALBA/ALBACollect.py @@ -390,6 +390,8 @@ def write_image_headers(self, start_angle): ) self.image_headers["Detector_Voffset"] = "0 m" + # NBNB TODO check if get_beam_position() (should be pixels) + # matches beamx, beamy (should be mm) beamx, beamy = HWR.beamline.detector.get_beam_position() self.image_headers["Beam_xy"] = "(%.2f, %.2f) pixels" % (beamx, beamy) diff --git a/mxcubecore/HardwareObjects/ALBA/ALBAPilatus.py b/mxcubecore/HardwareObjects/ALBA/ALBAPilatus.py index a39b24a80f..268d009270 100644 --- a/mxcubecore/HardwareObjects/ALBA/ALBAPilatus.py +++ b/mxcubecore/HardwareObjects/ALBA/ALBAPilatus.py @@ -104,6 +104,9 @@ def has_shutterless(self): def get_beam_position(self, distance=None, wavelength=None): """Returns beam center coordinates""" + + # NBNB TODO check if pixels or mm, and adjust code + # Should be pixels beam_x = 0 beam_y = 0 try: diff --git a/mxcubecore/HardwareObjects/EMBLFlexHCD.py b/mxcubecore/HardwareObjects/EMBLFlexHCD.py index fe1b8512a2..f2a38b6a44 100644 --- a/mxcubecore/HardwareObjects/EMBLFlexHCD.py +++ b/mxcubecore/HardwareObjects/EMBLFlexHCD.py @@ -403,7 +403,8 @@ def load(self, sample): res = SampleChanger.load(self, sample) finally: for msg in self.get_robot_exceptions(): - logging.getLogger("HWR").error(msg) + if msg is not None: + logging.getLogger("HWR").error(msg) if res: self.prepare_centring() @@ -541,7 +542,8 @@ def _do_load(self, sample=None): gevent.sleep(2) for msg in self.get_robot_exceptions(): - logging.getLogger("HWR").error(msg) + if msg is not None: + logging.getLogger("HWR").error(msg) return self._set_loaded_sample_and_prepare(loaded_sample, previous_sample) @@ -559,7 +561,8 @@ def _do_unload(self, sample=None): ) for msg in self.get_robot_exceptions(): - logging.getLogger("HWR").error(msg) + if msg is not None: + logging.getLogger("HWR").error(msg) if loaded_sample == (-1, -1, -1): self._reset_loaded_sample() diff --git a/mxcubecore/HardwareObjects/ISPyBRestClient.py b/mxcubecore/HardwareObjects/ISPyBRestClient.py index 8dd4080ca1..bd4339554a 100644 --- a/mxcubecore/HardwareObjects/ISPyBRestClient.py +++ b/mxcubecore/HardwareObjects/ISPyBRestClient.py @@ -183,7 +183,7 @@ def get_dc(self, dc_id): response = json.loads(get(url).text)[0] except Exception as ex: response = None - logging.getLogger("ispyb_client").exception(str(ex)) + # logging.getLogger("ispyb_client").exception(str(ex)) lims_dc = {} lims_dc["workflow_result_url_list"] = [] diff --git a/mxcubecore/HardwareObjects/LimaEigerDetector.py b/mxcubecore/HardwareObjects/LimaEigerDetector.py index eb055420ba..c3affe295c 100644 --- a/mxcubecore/HardwareObjects/LimaEigerDetector.py +++ b/mxcubecore/HardwareObjects/LimaEigerDetector.py @@ -147,10 +147,10 @@ def prepare_acquisition( self.stop() self.wait_ready() - beam_x, beam_y = HWR.beamline.detector.get_beam_position() + beam_x, beam_y = self.get_beam_position() header_info = [ - "beam_center_x=%s" % (beam_x / 7.5000003562308848e-02), - "beam_center_y=%s" % (beam_y / 7.5000003562308848e-02), + "beam_center_x=%s" % (beam_x), + "beam_center_y=%s" % (beam_y), "detector_distance=%s" % (HWR.beamline.detector.distance.get_value() / 1000.0), "omega_start=%0.4f" % start, diff --git a/mxcubecore/HardwareObjects/LimaPilatusDetector.py b/mxcubecore/HardwareObjects/LimaPilatusDetector.py index d262c1713f..995beec148 100644 --- a/mxcubecore/HardwareObjects/LimaPilatusDetector.py +++ b/mxcubecore/HardwareObjects/LimaPilatusDetector.py @@ -194,9 +194,7 @@ def prepare_acquisition( self.header["Transmission"] = HWR.beamline.transmission.get_value() self.header["Flux"] = HWR.beamline.flux.get_value() - self.header["Beam_xy"] = "(%.2f, %.2f) pixels" % tuple( - [value / 0.172 for value in HWR.beamline.detector.get_beam_position()] - ) + self.header["Beam_xy"] = ("(%.2f, %.2f) pixels" % self.get_beam_position()) self.header["Detector_Voffset"] = "0.0000 m" self.header["Energy_range"] = "(0, 0) eV" self.header["Detector_distance"] = "%f m" % (self.distance.get_value() / 1000.0) diff --git a/mxcubecore/HardwareObjects/abstract/AbstractCollect.py b/mxcubecore/HardwareObjects/abstract/AbstractCollect.py index f13880b8c7..2fee8c4120 100644 --- a/mxcubecore/HardwareObjects/abstract/AbstractCollect.py +++ b/mxcubecore/HardwareObjects/abstract/AbstractCollect.py @@ -599,8 +599,9 @@ def update_data_collection_in_lims(self): params["resolution"] = HWR.beamline.resolution.get_value() params["transmission"] = HWR.beamline.transmission.get_value() beam_centre_x, beam_centre_y = HWR.beamline.detector.get_beam_position() - params["xBeam"] = beam_centre_x - params["yBeam"] = beam_centre_y + pixel_x, pixel_y = self.get_pixel_size() + params["xBeam"] = beam_centre_x * pixel_x + params["yBeam"] = beam_centre_y * pixel_y und = self.get_undulators_gaps() i = 1 for jj in self.bl_config.undulators: diff --git a/mxcubecore/HardwareObjects/queue_model_objects.py b/mxcubecore/HardwareObjects/queue_model_objects.py index 2b342f20ec..4d1d5c2ac5 100644 --- a/mxcubecore/HardwareObjects/queue_model_objects.py +++ b/mxcubecore/HardwareObjects/queue_model_objects.py @@ -250,7 +250,7 @@ class DelayTask(TaskNode): """Dummy task, for mock testing only""" def __init__(self, delay=10): TaskNode.__init__(self) - self._name = "Dummy" + self._name = "Delay" self.delay = delay class RootNode(TaskNode): @@ -2159,9 +2159,7 @@ def set_pre_strategy_params( distance = HWR.beamline.resolution.resolution_to_distance( resolution, wavelength ) - orgxy = HWR.beamline.detector.get_beam_position( - distance, wavelength - ) + orgxy = HWR.beamline.detector.get_beam_position(distance, wavelength) self.detector_setting = GphlMessages.BcsDetectorSetting( resolution, orgxy=orgxy, Distance=distance @@ -2500,6 +2498,13 @@ def get_files_to_be_written(self): return self.acquisitions[0].path_template.get_files_to_be_written() +def addXrayCentring(parent_node, **centring_parameters): + """Add Xray centring to queue.""" + xc_model = XrayCentring2(**centring_parameters) + HWR.beamline.queue_model.add_child(parent_node, xc_model) + # + return xc_model + # # Collect hardware object utility function. # diff --git a/mxcubecore/configuration/esrf_id30a2/gphl-setup.xml b/mxcubecore/configuration/esrf_id30a2/gphl-setup.xml deleted file mode 100644 index 3ea8f9e62c..0000000000 --- a/mxcubecore/configuration/esrf_id30a2/gphl-setup.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - replaced-by-GphlWorkflow.file_paths['scripts'] - - - - - /sware/pub/java-1.8.0_91/linux_x64/bin/java - - - - /users/blissadm/local/gphl/gphl_java_classes/* - - - - - - /users/blissadm/local/gphl/gphl_latest/latest/autoPROC/bin/linux64/ - - /opt/pxsoft/bin/xds_par - - - - - /users/blissadm/local/gphl/gphl_latest/latest - - - - - - - - - - - - - - - - - - - {LOCAL_SCRIPTS}/aP_wf_rotcal - - - - - GPHL - - - /users/blissadm/local/gphl/gphl_java_wf_redirect.out - - - - - - - - - - - - diff --git a/mxcubecore/configuration/esrf_id30a2/gphl-setup.yml b/mxcubecore/configuration/esrf_id30a2/gphl-setup.yml new file mode 100644 index 0000000000..c397c32063 --- /dev/null +++ b/mxcubecore/configuration/esrf_id30a2/gphl-setup.yml @@ -0,0 +1,91 @@ + +_initialise_class: + class: mxcubecore.HardwareObjects.GphlWorkflowConnection.GphlWorkflowConnection + +directory_locations: + # Directory locations. Can also be used with ${} syntax in this file + GPHL_INSTALLATION: /users/blissadm/applications/GPhL_WorkFlow_beta-academic_20220601 + # GPHL_WRAPPERS: /data/users/p3l-gleb1/gphl/ + + +# If set, run workflow through ssh with selected options +# and quote parameters as appropriate +# NB The Host option is mandatory +# ConfigFile is the ssh configuration file, passed to ssh with the -F option +#ssh_options: +# Host: lonsdale +# IdentityFile: /home/rhfogh/.ssh/wf_test_id +# User: rhfogh +# StrictHostKeyChecking: no +# ConfigFile: /path/to/ssh/config/file + +# Directory used for GPhL workflow persistence data and workflow logs: +# Used to set the wdir workflow option +# If relative designates a subdirectory under Session.get_process_directory() +# If absolute taken as it stands +gphl_subdir: GPHL +# root name of persistence layer file; suffix'.xml. is added +gphl_persistname: persistence + +#Hosts and ports for py4j java-python gateway, all OPTIONAL +#If not set will use py4j default values, which are as given below +#NB python_host is set automatically to localhost or socket.gethostname() +#NB java_host is not needed as all communication is effectively one-way +#connection_parameters: +# python_port: 25334 +# java_port: 25333 + +#NB Non-absolute file names are interpreted relative to one of the +#HardwareRepository directories on the lookup path + +software_paths: + # Mandatory. Directory with workflow config input, e.g. instrumentation.nml + gphl_beamline_config: gphl/config_esrf_id30a1 + + # MANDATORY for CCP4 => $GPHL_CCP4_PATH/bin/ccp4.setup-sh, + # unless already sourced in environment + GPHL_CCP4_PATH: /opt/pxsoft/ccp4/v7.1/ubuntu20.04-x86_64/ccp4-7.1/bin + + # MANDATORY for XDS => $GPHL_XDS_PATH/xds_par + # unless already sourced in environment + GPHL_XDS_PATH: /opt/pxsoft/bin + + GPHL_INSTALLATION: /home/opid30/GPhL_WorkFlow_beta-academic + + # OPTIONAL for java binary => defaults to just 'java' +# java_binary: "/alt/rhfogh/Software/GPhL/mxcube_setup/jre1.8.0_144/bin/java" + + # gphl test samples directory - for collection emulation +# gphl_test_samples: gphl/test_samples + + #Location of installation used for processing queue (if not reachable from BCS computer. + #Passed as environmental variable GPHL_PROC_INSTALLATION. Optional +# gphl_wf_processing_installation: /users/pkeller/GPhL-ESRF/exe + +# Software paths that are passed to global phasing workflow as java properties +# Used to specify locations of alternative executables (wrappers) +# More (unused) properties are described in the ASTRA workflow documentation +software_properties: + #Location of GPhL .license directory + #defaults to GPHL_INSTALLATION + #Only needed if you do NOT use the gphl installation wrapper scripts in .../exe : + # co.gphl.wf.bdg_licence_dir: "{GPHL_RELEASE}/gphl_release/latest" + + # MANDATORY pending change in workflow + co.gphl.wf.stratcal.bin: "{GPHL_INSTALLATION}/exe/run_stratcal_wrap.py" + + # OPTIONAL location of alternative executables (wrappers) supported by the workflow + # Each has an option (rarely used) to specify a specific license directory --> + # co.gphl.wf.process.bin: {GPHL_WRAPPERS}/scripts/aP_wf_process + # co.gphl.wf.process.bdg_licence_dir/fill/me/in + # co.gphl.wf.diffractcal.bin: {GPHL_WRAPPERS}/scripts/aP_wf_rotcal + # co.gphl.wf.diffractcal.bdg_licence_dir/fill/me/in + # co.gphl.wf.simcal_predict.bin: {GPHL_WRAPPERS}/scripts/simcal_predict + # co.gphl.wf.simcal_predict.bdg_licence_dir/fill/me/in + # co.gphl.wf.transcal.bin: {GPHL_WRAPPERS}/scripts/transcal + # co.gphl.wf.transcal.bdg_licence_dir/fill/me/in + # co.gphl.wf.recen.bin: {GPHL_WRAPPERS}/scripts/recen + # co.gphl.wf.recen.bdg_licence_dir/fill/me/in + + # OPTIONAL. simcal *binary* For Mock collection emulation only. Not used by ASTRA workflow +# co.gphl.wf.simcal.bin: "{GPHL_INSTALLATION}/autoPROC/bin/linux64/simcal" diff --git a/mxcubecore/configuration/esrf_id30a2/gphl-workflow.yml b/mxcubecore/configuration/esrf_id30a2/gphl-workflow.yml new file mode 100644 index 0000000000..a4160abb5e --- /dev/null +++ b/mxcubecore/configuration/esrf_id30a2/gphl-workflow.yml @@ -0,0 +1,356 @@ +_initialise_class: + class: mxcubecore.HardwareObjects.GphlWorkflow.GphlWorkflow + +settings: + # Controls for MXCuBE UI and behaviour + # Use configured multitrigger collection, default: false, any value is true +# use_multitrigger: true + # Pass path_template.prefix to workflow as prefix. Any value is True Do not change + use_path_template_prefix: true + # Use advanced_mode for adidtional UI options. Default is false, any value is true + advanced_mode: true + # Maximum allowed value of Chi, for strategy calculation + maximum_chi: 48.0 + # default values for image width popup; may be overridden by the workflow + # The first value is the default; values are sorted before use + default_image_widths: + - 0.1 + - 0.05 + - 0.2 + + # tolerance for deciding whether angles differ, in degrees; + # used to compare kappa and phi to decide if orientations needs separate centring + angular_tolerance: 1.0 + # Characterisation strategies popup. + # names refer to stategies in strategylib.nml + characterisation_strategies: + - Char_4_by_10 +# - Char_24deg +# - Characterisation_6_5 +# - TEST_Characterisation_12_3 +# - TEST_Characterisation_12_4 +# - TEST_Characterisation_12_5 + + # How to set starting value for beam energy. Values are: + # 'configured': set value from calibration and characterisation strategy file + # 'current': use current value + starting_beamline_energy: current + default_beam_energy_tag: Acquisition + + + defaults: + # Default values for queue_model_objects.GphlWorkflow attributes + + # Default wedge width in degrees, for interleaved data collection + wedge_width: 15 + # Default number of snapshots to take when centring: 0, 1, 2, or 4 + snapshot_count: 2 + # Default recentring mode. Possibilities are sweep/scan/start/none, default is sweep: + # RECENTRING_MODES = OrderedDict( + # ("when orientation changes","sweep"), + # ("for each wedge","scan"), + # ("at acquisition start","start"), + # ("use predicted centrings only", "none"), + # ) + # mode "scan" is not allowed as default + recentring_mode: sweep + # Parameters to control proposed total dose budget + # The proposed budget is calculated so that radiation damage is predicted + # to reduce the intensity at the highest expected redolution to this percentaged--> + # after the end of the experiment (i.e. value 25 means final intensity + # at the highest resolution is 25% of the starting intensity + # The formula assumes an increase in B factor of 1 A^2/MGy + # The formula used is dose_budget = + # 2 * resolution**2 * log(100. / decay_limit) / relative_sensitivity + decay_limit: 25 + # Maximum dose budget to propose when converting from resolution, in MGy + maximum_dose_budget: 20 + # Percentage of dose budget to propose for use in characterisation. + characterisation_budget_fraction: 0.05 + # Radiation sensitivity relative to standard crystal + relative_rad_sensitivity: 1.0 + interleave_order: gs + characterisation_strategy: Char_6_5_multitrigger + + # For testing only: + automation_mode: TEST + + # Default parameters for fully automated strategies + # Multiple acquisitions in order - characterisation then main + # passed to set_pre_strategy_params and set_pre_acquisition_params + # NB as long as we only acquire either characterisation+main or diffractcal + # the code will use list[0] for the first acquisition and list[-1] for the main one + auto_acq_parameters: + # For characterisation acquisition + - exposure_time: 0.02 + image_width: 0.1 +# resolution: 1.920 +# image_count: 90 + # strategy_options: # Not currently used + # For acquisition or diffractcal + - exposure_time: 0.02 + image_width: 1.0 + strategy_options: + # Not really needed in default situation, but to show how it works + maximum_chi: 48.0 + angular_tolerance: 1.0 + + # Java invocation properties - syntax is e.g. '-Dfile.encoding=UTF-8' + invocation_properties: + file.encoding: UTF-8 + + # File name prefix for workflow log files + co.gphl.wf.persistName: wf + + # Switch to pass log to stdout. Defaults to True + # co.gphl.wf.logStdout: false + + # Properties applied after the java command - syntax as above--> + # Note that irrelevant properties are simply ignored.--> + workflow_properties: + + # Set to false to switch off pre-start checks for directory existence + # in cases where the directories are are created after the workflow starts + # Checks for data directory tree + co.gphl.wf.blRootCheck: false + # Chcks for data processing directory tree + # co.gphl.wf.procRootCheck: false + + # Parameters to individual applications + # Switch devMod to True to activate development parameters + # NB needed as of 20210802 to pass stratcal parameters strategy_type and variant + co.gphl.wf.devMode: true + # For stratcal configuration switches edit run_stratcal_wrap.py script instead--> + +# Dummy sample properties. +# Choose values for these to make spot predictions for the characterisation +# strategy look reasonable +# (they have no basis, and are not used for any scientific purpose). +# NB predicted spots are not currently displayed or used. Leave unchanged +# NB the following should be moved to a simcal-specific file + co.gphl.wf.simcal_predict.b_wilson: 26.0 + co.gphl.wf.simcal_predict.cell_dim_sd_scale: 1.5e-3 + co.gphl.wf.simcal_predict.mosaicity: 0.2 +# # Testing ONLY: +# co.gphl.wf.run_number: 7 + +# Workflows, The options in the top elements are updated with the options +# in the individual type, and passed as options to teh workflow application +# The following options are set elsewhere and can *not* be set here +# appdir: Processing root directory. +# Set automatically to Session.get_process_directory() +# rootsubdir: Subdirectory under data and processing root directories. +# Set automatically to reflect MXCuBE setup +# wdir: Workflow working directory +# Set automatically to Session.get_process_directory() +# see gphl_subdir in gphl-setup.xml +# persistname: Workflow persistence file is named persistnam>.xml +# Set in gph-setup.xml +# gphl_subdir is not a workflow option. It is set in gphl-setup.xml +workflows: + "GΦL Acquisition Workflow": + wfpath: Gphl + wftype: acquisition + requires: + - point + options: + # NB you must set EITHER wfprefix OR samplesubdir (or both) + # wfprefix is the enactment fixed file prefix + # wfprefix: gphl_wf_ + # Include sample filename prefix as subdirectory in enactment directory path + # Any + samplesubdir: null +# directory paths are: +# wfprefix: .../RAW_DATA/_001/... +# samplesubdir: .../RAW_DATA/_001/... +# both: .../RAW_DATA//_001/... + + + strategies: + - title: Native data collection + strategy_type: native + documentation: | + Single wavelength data acquisition for native data collection + Includes initial characterisation and complete collection. + Variants: + full: 2-4 sweeps, ca. 600-1000 degrees, best possible data. + quick: 1-2 sweeps, 360-400 degrees, quick and cusp-free + minimal: 1 sweep of 180+ degrees, 1-2 centrings. + application: co.gphl.wf.workflows.WFSimpleCharToProcessing + variants: + - minimal + - full + - quick + options: + # Filename pattern name for normal data collections + pattern: interleaved + # Filename pattern name for inverse-beam collections + ibpattern: ib_interleaved + # File name pattern for characterisation data collection + charpattern: generic + + + - title: Phasing (SAD) + strategy_type: phasing + application: co.gphl.wf.workflows.WFSimpleCharToProcessing + variants: + - full + - quick + documentation: | + Single wavelength SAD data acquisition, full strategy. + Aligned on even symetry axes or inverse beam. + Includes initial characterisation and complete collection + Variants: + full: up to 540deg, three orientations + quick: up to 360deg, two orientations + + options: + # Filename pattern name for normal data collections + pattern: interleaved + # Filename pattern name for inverse-beam collections + ibpattern: ib_interleaved + # File name pattern for characterisation data collection + charpattern: generic + + + - title: Two-wavelength MAD + strategy_type: phasing + application: co.gphl.wf.workflows.WFSimpleCharToProcessing + variants: + - quick + - full + beam_energy_tags: + - Peak + - Remote + # Workflow interleave order (string); Slowest changing first--> + # 'g' (Goniostat position); 's' (Scan number); + # 'b' (Beam wavelength); 'd' (Detector position)--> + # NB position interleaving in NOT done for the moment. + # So teh default ('gs') is a no-op + interleave_order: gsb + documentation: | + Two wavelength MAD data acquisition, full strategy. + Aligned on even symetry axes or inverse beam. + Includes initial characterisation and complete collection + Variants: + full: up to 540deg, three orientations for each wwavelngth + quick: up to 360deg, two orientations for each wwavelngth + + options: + # Filename pattern name for normal data collections + pattern: interleaved + # Filename pattern name for inverse-beam collections + ibpattern: ib_interleaved + # File name pattern for characterisation data collection + charpattern: generic + + - title: Three-wavelength MAD + strategy_type: phasing + application: co.gphl.wf.workflows.WFSimpleCharToProcessing + variants: + - quick + - full + beam_energy_tags: + - Peak + - Rising_Inflection + - Falling_Inflection + # Workflow interleave order (string); Slowest changing first--> + # 'g' (Goniostat position); 's' (Scan number); + # 'b' (Beam wavelength); 'd' (Detector position)--> + # NB position interleaving in NOT done for the moment. + # So teh default ('gs') is a no-op + interleave_order: gsb + documentation: | + Three wavelength MAD data acquisition, full strategy. + Aligned on even symetry axes or inverse beam. + Includes initial characterisation and complete collection + Variants: + full: up to 540deg, three orientations for each wwavelngth + quick: up to 360deg, two orientations for each wwavelngth + + options: + # Filename pattern name for normal data collections + pattern: interleaved + # Filename pattern name for inverse-beam collections + ibpattern: ib_interleaved + # File name pattern for characterisation data collection + charpattern: generic + + "GΦL Diffractometer calibration": + wfpath: Gphl + wftype: diffractcal + requires: + - point + options: + # NB you must set EITHER wfprefix OR samplesubdir (or both) + # wfprefix is the enactment fixed file prefix + # wfprefix: gphl_wf_ + # Include sample filename prefix as subdirectory in enactment directory path + # Any + samplesubdir: null +# directory paths are: +# wfprefix: .../RAW_DATA/_001/... +# samplesubdir: .../RAW_DATA/_001/... +# both: .../RAW_DATA//_001/... + + strategies: + + - title: Diffractometer calibration + strategy_type: diffractcal + application: co.gphl.wf.workflows.WFDiffractCal + variants: + - full + - short + documentation: | + Diffractometer calibration. + Designed for use by beamline personnel. + Calibrates axis directions, detector pane orientation, and beam centre. + Long data collectoin and processing, requiring a high-quality, high-symmetry + crystal of precisely known cell parameters. + Variants: + full: 22 60-deg sweeps, 11 orientations + short: 6 60-deg sweeps, 3 orientations + + options: + # wfprefix: Dcalib2_ + # Name of strategy from library to use. Variant name is appended--> + strategy: DiffractCal_ + # File name for diffractometer calibration output + calibration: diffractcal + # Pattern name for characterisation collections - used for all data here--> + charpattern: multiorientation + # copy calibration result to configuration directory, + # moving aside previous value + # updateblconfig: null + # Path of file to dump persisted instrumentation configuration. OPTIONAL--> + # instcfgout: gphl_diffractcal_out.nml + + "GΦL Translational Calibration": + wfpath: Gphl + wftype: transcal + requires: + - samplegrid + strategies: + - title: Translational Calibration + strategy_type: transcal + application: co.gphl.wf.workflows.WFTransCal + variants: + - full + documentation: | + Translational calibration. + Designed for use by beamline personnel. + Calibrates centring motors to allow prediction of centring positions + Consists of mulltiple centrings, requiring a glass or tungsten tip. + + options: + # file: File containing settings of rotation axes for calibration + # The name is the relative path from the gphl_beamline_config directory + # grid: Grid definition [axis_name:start:end:step], slowest-varying to fastest varying + # EITHER file OR grid must be set.--> + # grid: grid_axes_spec + file: transcal_2stage.json + # copy calibration result to configuration directory, + # renaming previous result file + updateblconfig: null + # Path of file to dump persisted instrumentation configuration. OPTIONAL--> + # instcfgout: gphl_transcal_out.nml diff --git a/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/IDXREF.INP b/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/IDXREF.INP index f148600685..657794fe08 100644 --- a/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/IDXREF.INP +++ b/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/IDXREF.INP @@ -1,8 +1,9 @@ ! Standard Pilatus XDS input ! Used for XDS processing of characterisation images only. -! DETECTOR and OVERLOAD are mandatory, but are set in instrumentation.nml, NOT here. +! DETECTOR and OVERLOAD are mandatory ! http://xds.mpimf-heidelberg.mpg.de/html_doc/INPUT_templates/XDS-PILATUS.INP +! But are handled through the workflow ! DETECTOR=PILATUS ! OVERLOAD=1048500 @@ -11,6 +12,7 @@ SEPMIN= 4 CLUSTER_RADIUS= 2 MAXIMUM_ERROR_OF_SPOT_POSITION= 2 + MINIMUM_FRACTION_OF_INDEXED_SPOTS=0.5 ! Resolution exclusion to exclude ice rings: ! Source Clemens Vonrhein (autoPROC values) diff --git a/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/diffractcal.nml b/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/diffractcal.nml deleted file mode 100644 index 284ae8fe99..0000000000 --- a/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/diffractcal.nml +++ /dev/null @@ -1,14 +0,0 @@ -&sdcp_instrument_list -diffractcal_timestamp = '2018-04-25T20:22:42' -diffractcal_data_collection = '/data/id30b/inhouse/opid30b/20180425/RAW_DATA/gphl_wf_001' -enactment_id = 'c7f31098-fc08-4258-aae9-aa28afb29422' -beam = -2.599070319141478E-003 , -5.010000000000000E-004 , 0.999996676108214 -det_x_axis = 0.999991011849215 , -9.167145473141251E-004 , 4.096013355019136E-003 -det_y_axis = 9.169264349112566E-004 , 0.999999838296773 , -5.010514907769098E-005 -det_org_x = 1227.46463126356 -det_org_y = 1294.95080981018 -det_org_dist = 392.669022613473 -gonio_axis_dirs = 1.00000000000000 , 0.000000000000000E+000 , 0.000000000000000E+000 , - 0.913106591595726 , -0.281570947950061 , -0.294879897000354 , - 0.999998364278384 , 4.640453361512226E-004 , -1.748171182431222E-003 -/ diff --git a/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/filenametemplates.xml b/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/filenametemplates.xml index 6825c1825d..0f050d6055 100644 --- a/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/filenametemplates.xml +++ b/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/filenametemplates.xml @@ -2,48 +2,22 @@ + + + + + + + - GDA - + Beamline + 43 prefix string - + _ - + - 2 + 1 run unsignedInt - + _ @@ -85,11 +81,25 @@ The following restrictions must be adhered to: + + + generic - 43 prefix string @@ -99,7 +109,6 @@ The following restrictions must be adhered to: - 2 run_number unsignedInt @@ -119,12 +128,11 @@ The following restrictions must be adhered to: - + interleaved - 36 prefix string @@ -138,7 +146,6 @@ The following restrictions must be adhered to: - 1 gonio_setting_index unsignedInt @@ -148,7 +155,6 @@ The following restrictions must be adhered to: - 1 beam_setting_index unsignedInt @@ -158,7 +164,6 @@ The following restrictions must be adhered to: - 2 run_number unsignedInt @@ -178,12 +183,11 @@ The following restrictions must be adhered to: - + ib_interleaved - 37 prefix string @@ -197,7 +201,6 @@ The following restrictions must be adhered to: - 1 gonio_setting_index unsignedInt @@ -207,13 +210,11 @@ The following restrictions must be adhered to: - 1 beam_setting_index unsignedInt - 1 inverse_beam_component_sign string @@ -223,7 +224,6 @@ The following restrictions must be adhered to: - 2 run_number unsignedInt @@ -243,12 +243,11 @@ The following restrictions must be adhered to: - + multiorientation - 38 prefix string @@ -277,7 +276,6 @@ The following restrictions must be adhered to: - 2 run_number unsignedInt @@ -298,82 +296,91 @@ The following restrictions must be adhered to: + + - + prefix 0 6 - + run 7 8 - + interleaved - GDA - + Beamline + - + prefix 0 7 - + run 8 9 - + ib_interleaved - GDA - + Beamline + - + prefix 0 1 - + run 2 3 - + generic - GDA - + Beamline + - + prefix 0 4 - + run 5 6 - - multiorientation - GDA - - + multiorientation + Beamline + + diff --git a/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/instrumentation.nml b/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/instrumentation.nml index 570d1ff8f5..d8991688b5 100644 --- a/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/instrumentation.nml +++ b/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/instrumentation.nml @@ -1,992 +1,92 @@ &sdcp_instrument_list +! Values for id30a2 simulator as of 20220503 + calibration_name= 'Initial' -beamline_name= 'ID30B' -coord_sys_name= 'ESRF' -nominal_beam_dir= 0.0 0.0 1.0 +beamline_name= 'id30a2' + +! Coordinate system. +! NOTE that all values in this file must use the same coordinate system, +! but that the choice of coordinate system is arbitrary +coord_sys_name= 'UNKNOWN' +! Beam specification +nominal_beam_dir= 0.0 0.0 1.0 beam_sd_deg= 0.03 0.03 -! lambd_sd is a reasonable default (WP), but not specifically determined lambda_sd= 0.0002 pol_plane_n= 0.0 1.0 0.0 pol_frac= 0.99 -! We use imgCIF coordinate system: Beam (i.e. lab Z) goes the opposite way -! from 0,0,1 in XDS template for Pilatus, so lab Y is also reversed. -! Lab X is defined by Omega, so is unaffected by beam direction. -det_name= "PILATUS" +! Detector specification +det_name= "pilatus2m" +! Axis directions det_x_axis= 1.0 0.0 0.0 det_y_axis= 0.0 1.0 0.0 +! Pixel sizes det_qx= 0.172000 det_qy= 0.172000 +! Pixel counts +det_nx= 1475 +det_ny= 1679 +! Default beam centre and detector distance - will be read from MXCuBE on acauisition +det_org_x= 699.14 +det_org_y= 852.03 +det_org_dist= 227.0 +! Sensor thickness +d_sensor= 0.45 + +! Detector file name. E.g. '.cbf' also covers compressed fies with suffix '.cbf.gz' +det_filename_suffix= '.cbf' -det_nx= 2463 -det_ny= 2527 -! Input values from ESRF image header 20180918 -det_org_x= 1231.85 -det_org_y= 1297.37 -! det_org_dist= 392.36 ! 2.0A -! det_org_dist= 345.00 ! 1.8A -! det_org_dist= 296.50 ! 1.6A -! det_org_dist= 270.14 ! 1.497A -det_org_dist= 170.0 ! ??A -! Specific for ID30B. Conf http://www.globalphasing.com/autoproc/wiki/index.cgi?BeamlineSettings#esrf -d_sensor= 1.00 +! Taken from http://xds.mpimf-heidelberg.mpg.de/html_doc/INPUT_templates/XDS-PILATUS.INP +xds_DETECTOR= PILATUS +xds_OVERLOAD= 1048500 +! Detector distance axis and file naming det_gonio_axis_dirs= 0.0 0.0 1.0 + ! Detector movement axis ! Actual value is irrelevant, since axis is (nominally) parallel to beam ! and we don't refine its direction -det_gonio_axis_datum_settings= 500 -det_gonio_axis_limits= 195 1000 +det_gonio_axis_datum_settings= 227.0 +det_gonio_axis_limits= 125, 834 det_gonio_axis_names= 'Distance' det_gonio_axis_types= 'Translation' det_gonio_axis_calibratable = 'False' -det_filename_suffix= '.cbf' +! Goniostat rotation axes, in order from goniostat to sample. +! Names must match the motor name convention used in MXCuBE. +! Axis directions will be overridden from diffraction calibration results, if present gonio_name= "MiniKappa" -! Kappa axis calculated for alpha = 24, -! component of kappa perpendicular to omega is vertical at omega = -46 degree -gonio_axis_dirs= 1.0 0.0 0.0, - ! Numbers for home = -46 degrees - ! values taken from http://confluence.globalphasing.com/display/SDCP/ID30B+Calibration+-+20171010+and+20171012 - ! NBNB axis lengths must be normalied to high precision; 7e-7 off causes a crash - 0.913545457643, -0.282543013685, -0.292581855621 - 1.0 0.0 0.0 +gonio_axis_dirs= 1.0 0.0 0.0 + ! Normalised to sum to 1.0000000 exactly + 0.9135 -0.4068387272617984 0.0 + 1.0, 0.0, 0.0 gonio_axis_datum_settings= 0 0 0 -gonio_axis_limits= , , -8, 256, , , +gonio_axis_limits= , , -5, 240, , , gonio_axis_names= 'phi' 'kappa' 'kappa_phi' gonio_axis_scannable= 'True' 'False' 'False' gonio_axis_calibratable= 'False' 'True' 'True' -! Nominal centring axis directions with correct signs -gonio_centring_axis_dirs= -1.0, 0.0, 0.0, +! Nominal centring axis directions +gonio_centring_axis_dirs= 0.0, 0.0, -1.0, 0.0, -1.0, 0.0, - 0.0, 0.0, -1.0 + -1.0, 0.0, 0.0 ! Actual limits on centring axes -gonio_centring_axis_limits= -116.998, 10.5, -2.396, 2.4, -2.3988, 2.4 -! At omega=0: sampx parallel to beam, sampy perpendicular. -! phiy antiparallel to omega -gonio_centring_axis_names= 'phiy', 'sampy', 'sampx' +gonio_centring_axis_limits= -3.0, 3.0, -3.0, 3.0, -10.0, 10.0 +! Names must match the motor name convention used in MXCuBE. +gonio_centring_axis_names= 'sampx', 'sampy', 'phiy' -!? FIXME! Sort out ID30B beamstop on the fly (or delete it?) -! Need beamstop for I04 for now, to get a realistic beamstop shadow -! on simulated images. It is not needed for stratcal because I04 has -! no collisions and the shadow will not have any effect on the statistics -! and strategy choices. -! We may remove this or handle it differently when: -! (1) simcal/stratcal's default is no beamstop, and -! (2) we come up with some way of indicating in direct mode emulation -! that the beamstop is for simcal (i.e. emulation) only, not for the -! workflow side. (We already have that for indirect emulation: put it -! in simcal_setup.nml but not here or in blemulation.properties.) +! Beamstop specification, for collision avoidance and shadow description in simulation +! Introduced for the Diamond I23 curved detector +! Not required for strategy calculations on mini-kappa goniostat +! DO NOT UNCOMMENT ! beamstop_name= 'BEAMSTOPV1' ! beamstop_param_names= 'BEAM_STOP_RADIUS' 'BEAM_STOP_S_LENGTH' 'BEAM_STOP_S_DISTANCE' ! beamstop_param_vals= 1.0 -120.0 60.0 -! Taken from http://xds.mpimf-heidelberg.mpg.de/html_doc/INPUT_templates/XDS-PILATUS.INP -xds_DETECTOR= PILATUS -xds_OVERLOAD= 1048500 - -! Used only for simcal, and therefore do no harm even when not simulating -min_zeta= 0.15 - -/ - -&GONIOSTAT_VOLUME_LIST - VERTICES= 20.3680, -4.8000, 0.0000, - 20.3680, -4.7271, -0.8335, - 20.3680, -4.7271, 0.8335, - 20.3680, -4.5105, -1.6417, - 20.3680, -4.5105, 1.6417, - 20.3680, -4.1569, -2.4000, - 20.3680, -4.1569, 2.4000, - 20.3680, -3.6770, -3.0854, - 20.3680, -3.6770, 3.0854, - 20.3680, -3.0854, -3.6770, - 20.3680, -3.0854, 3.6770, - 20.3680, -2.4000, -4.1569, - 20.3680, -2.4000, 4.1569, - 20.3680, -1.6417, -4.5105, - 20.3680, -1.6417, 4.5105, - 20.3680, -0.8335, -4.7271, - 20.3680, -0.8335, 4.7271, - 20.3680, -0.0000, -4.8000, - 20.3680, -0.0000, 4.8000, - 20.3680, 0.8335, -4.7271, - 20.3680, 0.8335, 4.7271, - 20.3680, 1.6417, -4.5105, - 20.3680, 1.6417, 4.5105, - 20.3680, 2.4000, -4.1569, - 20.3680, 2.4000, 4.1569, - 20.3680, 3.0854, -3.6770, - 20.3680, 3.0854, 3.6770, - 20.3680, 3.6770, -3.0854, - 20.3680, 3.6770, 3.0854, - 20.3680, 4.1569, -2.4000, - 20.3680, 4.1569, 2.4000, - 20.3680, 4.5105, -1.6417, - 20.3680, 4.5105, 1.6417, - 20.3680, 4.7271, -0.8335, - 20.3680, 4.7271, 0.8335, - 20.3680, 4.8000, 0.0000, - 23.6680, -7.5000, 0.0000, - 23.6680, -7.3861, -1.3024, - 23.6680, -7.3861, 1.3024, - 23.6680, -7.0477, -2.5652, - 23.6680, -7.0477, 2.5652, - 23.6680, -6.4952, -3.7500, - 23.6680, -6.4952, 3.7500, - 23.6680, -5.7453, -4.8209, - 23.6680, -5.7453, 4.8209, - 23.6680, -4.8209, -5.7453, - 23.6680, -4.8209, 5.7453, - 23.6680, -3.7500, -6.4952, - 23.6680, -3.7500, 6.4952, - 23.6680, -2.5652, -7.0477, - 23.6680, -2.5652, 7.0477, - 23.6680, -1.3024, -7.3861, - 23.6680, -1.3024, 7.3861, - 23.6680, -0.0000, -7.5000, - 23.6680, -0.0000, 7.5000, - 23.6680, 1.3024, -7.3861, - 23.6680, 1.3024, 7.3861, - 23.6680, 2.5652, -7.0477, - 23.6680, 2.5652, 7.0477, - 23.6680, 3.7500, -6.4952, - 23.6680, 3.7500, 6.4952, - 23.6680, 4.8209, -5.7453, - 23.6680, 4.8209, 5.7453, - 23.6680, 5.7453, -4.8209, - 23.6680, 5.7453, 4.8209, - 23.6680, 6.4952, -3.7500, - 23.6680, 6.4952, 3.7500, - 23.6680, 7.0477, -2.5652, - 23.6680, 7.0477, 2.5652, - 23.6680, 7.3861, -1.3024, - 23.6680, 7.3861, 1.3024, - 23.6680, 7.5000, 0.0000, - 33.2680, -11.6700, 0.0000, - 33.2680, -11.4927, -2.0265, - 33.2680, -11.4927, 2.0265, - 33.2680, -10.9662, -3.9914, - 33.2680, -10.9662, 3.9914, - 33.2680, -10.1065, -5.8350, - 33.2680, -10.1065, 5.8350, - 33.2680, -8.9397, -7.5013, - 33.2680, -8.9397, 7.5013, - 33.2680, -7.5013, -8.9397, - 33.2680, -7.5013, 8.9397, - 33.2680, -5.8350, -10.1065, - 33.2680, -5.8350, 10.1065, - 33.2680, -3.9914, -10.9662, - 33.2680, -3.9914, 10.9662, - 33.2680, -2.0265, -11.4927, - 33.2680, -2.0265, 11.4927, - 33.2680, -0.0000, -11.6700, - 33.2680, -0.0000, 11.6700, - 33.2680, 2.0265, -11.4927, - 33.2680, 2.0265, 11.4927, - 33.2680, 3.9914, -10.9662, - 33.2680, 3.9914, 10.9662, - 33.2680, 5.8350, -10.1065, - 33.2680, 5.8350, 10.1065, - 33.2680, 7.5013, -8.9397, - 33.2680, 7.5013, 8.9397, - 33.2680, 8.9397, -7.5013, - 33.2680, 8.9397, 7.5013, - 33.2680, 10.1065, -5.8350, - 33.2680, 10.1065, 5.8350, - 33.2680, 10.9662, -3.9914, - 33.2680, 10.9662, 3.9914, - 33.2680, 11.4927, -2.0265, - 33.2680, 11.4927, 2.0265, - 33.2680, 11.6700, 0.0000, - 44.8747, -22.6419, -22.6419, - 44.9427, -21.1833, -23.8846, - 44.9427, -23.8846, -21.1833, - 45.1445, -19.5531, -24.8737, - 45.1445, -24.8737, -19.5531, - 45.4741, -17.8008, -25.5790, - 45.4741, -25.5790, -17.8008, - 45.9214, -15.9798, -25.9792, - 45.9214, -25.9792, -15.9798, - 46.4729, -14.1452, -26.0621, - 46.4729, -26.0621, -14.1452, - 47.1117, -12.3530, -25.8251, - 47.1117, -25.8251, -12.3530, - 47.8186, -10.6574, -25.2756, - 47.8186, -25.2756, -10.6574, - 48.5719, -9.1101, -24.4301, - 48.5719, -24.4301, -9.1101, - 49.3488, -7.7580, -23.3144, - 49.3488, -23.3144, -7.7580, - 50.1257, -6.6423, -21.9623, - 50.1257, -21.9623, -6.6423, - 50.8790, -5.7968, -20.4150, - 50.8790, -20.4150, -5.7968, - 51.5858, -5.2472, -18.7194, - 51.5858, -18.7194, -5.2472, - 52.2247, -5.0103, -16.9272, - 52.2247, -16.9272, -5.0103, - 52.7761, -5.0932, -15.0926, - 52.7761, -15.0926, -5.0932, - 53.2235, -5.4934, -13.2715, - 53.2235, -13.2715, -5.4934, - 53.5531, -6.1987, -11.5193, - 53.5531, -11.5193, -6.1987, - 53.7549, -7.1878, -9.8891, - 53.7549, -9.8891, -7.1878, - 53.8229, -8.4305, -8.4305, - 59.5742, -28.8177, -28.8177, - 59.6545, -27.0939, -30.2864, - 59.6545, -30.2864, -27.0939, - 59.8930, -25.1673, -31.4553, - 59.8930, -31.4553, -25.1673, - 60.2826, -23.0964, -32.2888, - 60.2826, -32.2888, -23.0964, - 60.8112, -20.9443, -32.7617, - 60.8112, -32.7617, -20.9443, - 61.4629, -18.7762, -32.8597, - 61.4629, -32.8597, -18.7762, - 62.2179, -16.6580, -32.5797, - 62.2179, -32.5797, -16.6580, - 63.2124, -14.3058, -31.7732, - 63.2124, -31.7732, -14.3058, - 63.8584, -12.5480, -30.7192, - 63.8602, -30.7142, -12.5413, - 67.5385, 1.5689, -20.3514, - 67.5385, -20.3514, 1.5689, - 70.3615, 10.9602, -10.9602, - 70.3615, -10.9602, 10.9602, - 70.8815, 12.5526, -9.0929, - 70.8815, -9.0929, 12.5526, - 71.1000, 13.6826, -7.2826, - 71.1000, -7.2826, 13.6826, - 71.1000, 14.9719, -4.0117, - 71.1000, -4.0117, 14.9719, - 71.1000, 15.4410, -1.3509, - 71.1000, -1.3509, 15.4410, - 71.1000, 15.4410, 1.3509, - 71.1000, 1.3509, 15.4410, - 71.1000, 14.9719, 4.0117, - 71.1000, 4.0117, 14.9719, - 71.1000, 14.0477, 6.5506, - 71.1000, 6.5506, 14.0477, - 71.1000, 12.6968, 8.8905, - 71.1000, 8.8905, 12.6968, - 71.1000, 10.9602, 10.9602 -TRIANGLES= 1, 2, 3, - 2, 3, 4, - 3, 4, 5, - 4, 5, 6, - 5, 6, 7, - 6, 7, 8, - 7, 8, 9, - 8, 9, 10, - 9, 10, 11, - 10, 11, 12, - 11, 12, 13, - 12, 13, 14, - 13, 14, 15, - 14, 15, 16, - 15, 16, 17, - 16, 17, 18, - 17, 18, 19, - 18, 19, 20, - 19, 20, 21, - 20, 21, 22, - 21, 22, 23, - 22, 23, 24, - 23, 24, 25, - 24, 25, 26, - 25, 26, 27, - 26, 27, 28, - 27, 28, 29, - 28, 29, 30, - 29, 30, 31, - 30, 31, 32, - 31, 32, 33, - 32, 33, 34, - 33, 34, 35, - 34, 35, 36, - 37, 38, 39, - 38, 39, 40, - 39, 40, 41, - 40, 41, 42, - 41, 42, 43, - 42, 43, 44, - 43, 44, 45, - 44, 45, 46, - 45, 46, 47, - 46, 47, 48, - 47, 48, 49, - 48, 49, 50, - 49, 50, 51, - 50, 51, 52, - 51, 52, 53, - 52, 53, 54, - 53, 54, 55, - 54, 55, 56, - 55, 56, 57, - 56, 57, 58, - 57, 58, 59, - 58, 59, 60, - 59, 60, 61, - 60, 61, 62, - 61, 62, 63, - 62, 63, 64, - 63, 64, 65, - 64, 65, 66, - 65, 66, 67, - 66, 67, 68, - 67, 68, 69, - 68, 69, 70, - 69, 70, 71, - 70, 71, 72, - 73, 74, 75, - 74, 75, 76, - 75, 76, 77, - 76, 77, 78, - 77, 78, 79, - 78, 79, 80, - 79, 80, 81, - 80, 81, 82, - 81, 82, 83, - 82, 83, 84, - 83, 84, 85, - 84, 85, 86, - 85, 86, 87, - 86, 87, 88, - 87, 88, 89, - 88, 89, 90, - 89, 90, 91, - 90, 91, 92, - 91, 92, 93, - 92, 93, 94, - 93, 94, 95, - 94, 95, 96, - 95, 96, 97, - 96, 97, 98, - 97, 98, 99, - 98, 99, 100, - 99, 100, 101, - 100, 101, 102, - 101, 102, 103, - 102, 103, 104, - 103, 104, 105, - 104, 105, 106, - 105, 106, 107, - 106, 107, 108, - 109, 110, 111, - 110, 111, 112, - 111, 112, 113, - 112, 113, 114, - 113, 114, 115, - 114, 115, 116, - 115, 116, 117, - 116, 117, 118, - 117, 118, 119, - 118, 119, 120, - 119, 120, 121, - 120, 121, 122, - 121, 122, 123, - 122, 123, 124, - 123, 124, 125, - 124, 125, 126, - 125, 126, 127, - 126, 127, 128, - 127, 128, 129, - 128, 129, 130, - 129, 130, 131, - 130, 131, 132, - 131, 132, 133, - 132, 133, 134, - 133, 134, 135, - 134, 135, 136, - 135, 136, 137, - 136, 137, 138, - 137, 138, 139, - 138, 139, 140, - 139, 140, 141, - 140, 141, 142, - 141, 142, 143, - 142, 143, 144, - 145, 146, 147, - 146, 147, 148, - 147, 148, 149, - 148, 149, 150, - 149, 150, 151, - 150, 151, 152, - 151, 152, 153, - 152, 153, 154, - 153, 154, 155, - 154, 155, 156, - 155, 156, 157, - 156, 157, 158, - 157, 158, 159, - 158, 159, 160, - 159, 160, 161, - 160, 161, 162, - 161, 162, 163, - 162, 163, 164, - 163, 164, 165, - 164, 165, 166, - 165, 166, 167, - 166, 167, 168, - 167, 168, 169, - 168, 169, 170, - 169, 170, 171, - 170, 171, 172, - 171, 172, 173, - 172, 173, 174, - 173, 174, 175, - 174, 175, 176, - 175, 176, 177, - 176, 177, 178, - 177, 178, 179, - 178, 179, 180, - 179, 180, 181, - 180, 181, 182 +! Detector segment description +! Must match detector type +! Otherwise DO NOT EDIT from this point of the file onwards / -&SEGMENT_LIST - SEG_NX_LIMITS= 1 487 - SEG_NY_LIMITS= 1 195 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 495 981 - SEG_NY_LIMITS= 1 195 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 989 1475 - SEG_NY_LIMITS= 1 195 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1483 1969 - SEG_NY_LIMITS= 1 195 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1977 2463 - SEG_NY_LIMITS= 1 195 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1 487 - SEG_NY_LIMITS= 213 407 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 495 981 - SEG_NY_LIMITS= 213 407 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 989 1475 - SEG_NY_LIMITS= 213 407 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1483 1969 - SEG_NY_LIMITS= 213 407 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1977 2463 - SEG_NY_LIMITS= 213 407 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1 487 - SEG_NY_LIMITS= 425 619 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 495 981 - SEG_NY_LIMITS= 425 619 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 989 1475 - SEG_NY_LIMITS= 425 619 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1483 1969 - SEG_NY_LIMITS= 425 619 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1977 2463 - SEG_NY_LIMITS= 425 619 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1 487 - SEG_NY_LIMITS= 637 831 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 495 981 - SEG_NY_LIMITS= 637 831 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 989 1475 - SEG_NY_LIMITS= 637 831 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1483 1969 - SEG_NY_LIMITS= 637 831 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1977 2463 - SEG_NY_LIMITS= 637 831 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1 487 - SEG_NY_LIMITS= 849 1043 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 495 981 - SEG_NY_LIMITS= 849 1043 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 989 1475 - SEG_NY_LIMITS= 849 1043 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1483 1969 - SEG_NY_LIMITS= 849 1043 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1977 2463 - SEG_NY_LIMITS= 849 1043 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1 487 - SEG_NY_LIMITS= 1061 1255 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 495 981 - SEG_NY_LIMITS= 1061 1255 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 989 1475 - SEG_NY_LIMITS= 1061 1255 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1483 1969 - SEG_NY_LIMITS= 1061 1255 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1977 2463 - SEG_NY_LIMITS= 1061 1255 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1 487 - SEG_NY_LIMITS= 1273 1467 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 495 981 - SEG_NY_LIMITS= 1273 1467 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 989 1475 - SEG_NY_LIMITS= 1273 1467 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1483 1969 - SEG_NY_LIMITS= 1273 1467 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1977 2463 - SEG_NY_LIMITS= 1273 1467 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1 487 - SEG_NY_LIMITS= 1485 1679 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 495 981 - SEG_NY_LIMITS= 1485 1679 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 989 1475 - SEG_NY_LIMITS= 1485 1679 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1483 1969 - SEG_NY_LIMITS= 1485 1679 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1977 2463 - SEG_NY_LIMITS= 1485 1679 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1 487 - SEG_NY_LIMITS= 1697 1891 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 495 981 - SEG_NY_LIMITS= 1697 1891 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 989 1475 - SEG_NY_LIMITS= 1697 1891 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1483 1969 - SEG_NY_LIMITS= 1697 1891 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1977 2463 - SEG_NY_LIMITS= 1697 1891 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1 487 - SEG_NY_LIMITS= 1909 2103 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 495 981 - SEG_NY_LIMITS= 1909 2103 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 989 1475 - SEG_NY_LIMITS= 1909 2103 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1483 1969 - SEG_NY_LIMITS= 1909 2103 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1977 2463 - SEG_NY_LIMITS= 1909 2103 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1 487 - SEG_NY_LIMITS= 2121 2315 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 495 981 - SEG_NY_LIMITS= 2121 2315 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 989 1475 - SEG_NY_LIMITS= 2121 2315 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1483 1969 - SEG_NY_LIMITS= 2121 2315 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1977 2463 - SEG_NY_LIMITS= 2121 2315 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1 487 - SEG_NY_LIMITS= 2333 2527 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 495 981 - SEG_NY_LIMITS= 2333 2527 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 989 1475 - SEG_NY_LIMITS= 2333 2527 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1483 1969 - SEG_NY_LIMITS= 2333 2527 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ -&SEGMENT_LIST - SEG_NX_LIMITS= 1977 2463 - SEG_NY_LIMITS= 2333 2527 - SEG_ORG_X= 0.0000000 - SEG_ORG_Y= 0.0000000 - SEG_COORD= 0.0000000 - SEG_X_AXIS= 1.0000000 0.0000000 0.0000000 - SEG_Y_AXIS= 0.0000000 1.0000000 0.0000000 -/ diff --git a/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/strategylib.nml b/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/strategylib.nml index 1374985b45..717c4358ea 100644 --- a/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/strategylib.nml +++ b/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/strategylib.nml @@ -1,3 +1,11 @@ +! Fortran namelist file defining fixed strategies. +! Note that the data are organised in objects, referred to internally by the 'xyz_id' fields +! +! See namelist specification and examples below for details +! +! The 'group_no' field serves to specify acquisition order of sweeps; +! sweeps with the same group number must share teh same orientation + &sdcp_goniostat_setting_list id= 'gset01' scan_axis_name= 'phi' @@ -9,19 +17,56 @@ id= 'dset01' !detector_axis_settings= 291.0 !detector_axis_settings= 260.96 ! Matches 2.3A resolution at 1.0A wavelength -detector_axis_settings= 470.00 +detector_axis_settings= 204.8 / &beam_setting_list id= 'bset01' ! Standard ESRF ID30B wavelength, matching 12.7 keV -lambda= 0.97625196850393714 +! lambda= 0.97625196850393714 +lambda = 0.965 +/ + +! ################### 4 * 1deg/10 characteristation strategy + +&sdcp_strategy_list +strategy_name= 'Char_4_by_10' +type= 'geometric' +allowed_widths= 0.1 +default_width_idx= 0 +/ + +&stratcal_sweep_list +repeat= 4 +offset= 90.0 +goniostat_setting_id= 'gset01' +detector_setting_id= 'dset01' +beam_setting_id= 'bset01' +length_deg= 1.0 +start_deg= 0.0 +/ + +! ################### One 24deg sweep + +&sdcp_strategy_list +strategy_name= 'Char_24deg' +type= 'geometric' +allowed_widths= 0.02 0.03 0.04 0.05 0.06 0.08 0.1 0.12 0.15 0.2 0.3 0.4 +default_width_idx= 6 +/ + +&stratcal_sweep_list +goniostat_setting_id= 'gset01' +detector_setting_id= 'dset01' +beam_setting_id= 'bset01' +length_deg= 24.0 +start_deg= 0.0 / -! ################### 6deg/5 characteristation strategy +! ################### 6deg/5 characteristation strategy sweepOverlap &sdcp_strategy_list -strategy_name= 'InitialCharacterisation_6_5' +strategy_name= 'Characterisation_6_5' type= 'geometric' allowed_widths= 0.02 0.03 0.04 0.05 0.06 0.08 0.1 0.12 0.15 0.2 0.3 0.4 default_width_idx= 6 @@ -70,7 +115,7 @@ start_deg= 180.0 ! ################### 12deg/5 characteristation strategy &sdcp_strategy_list -strategy_name= 'InitialCharacterisation_12_5' +strategy_name= 'TEST_Characterisation_12_5' type= 'geometric' allowed_widths= 0.02 0.03 0.04 0.05 0.06 0.08 0.1 0.12 0.15 0.2 0.3 0.4 default_width_idx= 6 @@ -119,7 +164,7 @@ start_deg= 180.0 ! ################### 12deg/4 characteristation strategy &sdcp_strategy_list -strategy_name= 'InitialCharacterisation_12_4' +strategy_name= 'TEST_Characterisation_12_4' type= 'geometric' allowed_widths= 0.02 0.03 0.04 0.05 0.06 0.08 0.1 0.12 0.15 0.2 0.3 0.4 default_width_idx= 6 @@ -160,7 +205,7 @@ start_deg= 180.0 ! ################### 12deg/3 characteristation strategy &sdcp_strategy_list -strategy_name= 'InitialCharacterisation_12_3' +strategy_name= 'TEST_Characterisation_12_3' type= 'geometric' allowed_widths= 0.02 0.03 0.04 0.05 0.06 0.08 0.1 0.12 0.15 0.2 0.3 0.4 default_width_idx= 6 @@ -221,9 +266,9 @@ goniostat_axis_settings= 0.0 45.0 90.0 / &sdcp_goniostat_setting_list -id= 'dcalgsetk90_p270' +id= 'dcalgsetk45_p270' scan_axis_name= 'phi' -goniostat_axis_settings= 0.0 90.0 270.0 +goniostat_axis_settings= 0.0 45.0 270.0 / &sdcp_goniostat_setting_list @@ -277,7 +322,7 @@ goniostat_axis_settings= 0.0 225.0 270.0 !################## Short diffractometer calibration ################ &sdcp_strategy_list -strategy_name= 'DiffractCal' +strategy_name= 'DiffractCal_short' type= 'geometric' allowed_widths= 0.05 0.1 0.15 0.2 default_width_idx= 0 @@ -342,7 +387,7 @@ length_deg= 60 !################## Long diffractometer calibration ################ &sdcp_strategy_list -strategy_name= 'DiffractCal_ex' +strategy_name= 'DiffractCal_full' type= 'geometric' allowed_widths= 0.05 0.1 0.15 0.2 default_width_idx= 0 @@ -386,7 +431,7 @@ length_deg= 60 &stratcal_sweep_list group_no= 3 -goniostat_setting_id= 'dcalgsetk90_p270' +goniostat_setting_id= 'dcalgsetk45_p270' detector_setting_id= 'dset01' beam_setting_id= 'dcalbset' start_deg= 120 @@ -395,7 +440,7 @@ length_deg= 60 &stratcal_sweep_list group_no= 3 -goniostat_setting_id= 'dcalgsetk90_p270' +goniostat_setting_id= 'dcalgsetk45_p270' detector_setting_id= 'dset01' beam_setting_id= 'dcalbset' start_deg= 300 diff --git a/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/transcal_2stage.json b/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/transcal_2stage.json index 82ad6dd1ed..37c92bde5f 100644 --- a/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/transcal_2stage.json +++ b/mxcubecore/configuration/esrf_id30a2/gphl_beamline_config/transcal_2stage.json @@ -1,13 +1,15 @@ [ { - "#": "Settings for running TransCal on a mini-Kappa (short protocol, without SOC)", + "#": "Settings (omega, kappa, phi) for running TransCal on a mini-Kappa (short protocol, without SOC)", "settings": [ 0, 0, 0, 0, 0, 180, - 0, 61.5, 60, - 0, 61.5, -120, - 0, 180, 120, - 0, 180, -60 + 0, 60.0, 45, + 0, 60.0, -135, + 0, 120, 90, + 0, 120, -90, + 0, 180, 135, + 0, 180, -45 ], "nameSuffix": "pre", "noRefineSOC": true, @@ -15,7 +17,7 @@ }, { - "#": "Settings for running TransCal on a mini-Kappa (medium-length protocol)", + "#": "Settings(omega, kappa, phi) for running TransCal on a mini-Kappa (medium-length protocol)", "settings": [ 0.00, 0.00, -90.00, @@ -26,18 +28,22 @@ 0.00, 0.00, 135.00, 0.00, 0.00, 180.00, 0.00, 0.00, 225.00, - 0.00, 29.80, -90.00, - 0.00, 29.80, 0.00, - 0.00, 29.80, 90.00, - 0.00, 29.80, 180.00, - 0.00, 61.50, -90.00, - 0.00, 61.50, 0.00, - 0.00, 61.50, 90.00, - 0.00, 61.50, 180.00, - 0.00, 98.90, -90.00, - 0.00, 98.90, 0.00, - 0.00, 98.90, 90.00, - 0.00, 98.90, 180.00, + 0.00, 36.00, -90.00, + 0.00, 36.00, 0.00, + 0.00, 36.00, 90.00, + 0.00, 36.00, 180.00, + 0.00, 72.00, -90.00, + 0.00, 72.00, 0.00, + 0.00, 72.00, 90.00, + 0.00, 72.00, 180.00, + 0.00, 108.00, -90.00, + 0.00, 108.00, 0.00, + 0.00, 108.00, 90.00, + 0.00, 108.00, 180.00, + 0.00, 144.00, -90.00, + 0.00, 144.00, 0.00, + 0.00, 144.00, 90.00, + 0.00, 144.00, 180.00, 0.00, 180.00, -90.00, 0.00, 180.00, 0.00, 0.00, 180.00, 90.00,