4.2.7 - Detector Object - JdlDetectorBasics

John W. Campbell

4.2.7.1 Introduction

This class stores the basic set of parameters defining a detector system for collecting protein crystallographic data with a flat detector. The detector rotation vectors in terms of the laboratory axes define the axes around which the detector may be rotated. One is normal to the detector and the other two lie parallel to the plane of the detector. These axes pass through the laboratory axes origin (crystal position). The detector lies at the crystal to detector distance along the first detector axis. Any required rotations around these three axes are defined by the TAU1, TAU2 and TAU3 angles. These are positive rotations in degrees around the three defined detector rotation axes respectively. The rotations are applied in the order 'tau1' then 'tau2' then 'tau3'. The detector local axes are vectors defining the two local axes (e.g. xf, yf) within the plane of the detector and used when predicting spot coordinates. These are defined with respect to the laboratory axes. The beam vector is a vector, defining the direction of the beam looking towards the X-ray source, defined with respect to the laboratory axes. The scan axis is a vector, defining the the rotation (scan) axis (+ve rotation) direction, defined with respect to the laboratory axes.

See also the Diffraction Data Module for a description of the parameters and the laboratory coordinate axes.

Class, fields, constructors and methods:

Class Details
Accessible Fields
Constructors
Set Values
Get Values
List Detector Data

4.2.7.2 Class Details

Package:
Jdl.JdlPX;
Class name:
JdlDetectorBasics
Class definition:
public class JdlDetectorBasics
Extends:
Object
Implements:
Cloneable
Actions:
none

4.2.7.3 Accessible Fields

The following accessible fields have been defined:

public final static int FLAT
Detector geometry definition: flat.
public final static int CYLINDRICAL
Detector geometry definition: cylindrical.
String detector_type
Detector type e.g "unknown" or "mar".
int detector_geom
Detector geometry e.g "0 = flat" or "1 = cylindrical".
double[] detector_rot1
Detector axis 1 rotation axis (3 element array).
double[] detector_rot2
Detector axis 2 rotation axis (3 element array).
double[] detector_rot3
Detector axis 3 rotation axis (3 element array).
double[] detector_axis1
Detector local axis 1 (3 element array).
String ax1_name
Detector local axis 1 name.
double[] detector_axis2
Detector local axis 2 (3 element array).
String ax2_name
Detector local axis 2 name.
double[] scan_axis
Scan axis vector (3 element array).

4.2.7.4 Constructors

4.2.7.4.1 Introduction

There are two constructors, one sets up a JdlDetectorBasics object with a default parameter set and the other with a fully specified set of parameters.

Constructors:

Beam vector - fixed (3 element array).
Full Constructor

4.2.7.4.2 Beam vector - fixed (3 element array).

Default Constructor This sets up a JdlDetectorBasics object with default parameters as follows:
  Detector type              Unknown
  Detector geometry          FLAT
  Detector rotation axis 1   [1.0, 0.0, 0.0]
  Detector rotation axis 2   [0.0, 1.0, 0.0]
  Detector rotation axis 3   [0.0, 0.0, 1.0]
  Detector local axis 1      [0.0, 1.0, 0.0]
  Detector axis 1 name       "x"
  Detector local axis 2      [0.0, 0.0, 1.0]
  Detector axis 2 name       "y"
  Scan axis                  [0.0, 0.0, 1.0]
  Beam vector (fixed)        [-1.0, 0.0, 0.0]

Constructor Definition:
public JdlDetectorBasics()
Parameters List:
none

4.2.7.4.3 Full Constructor

This constructor sets up a fully specified JdlDetectorBasics object.

Constructor Definition:
public JdlDetectorBasics (String type, int geom, double[] det_rot1, double[] det_rot2, double[] det_rot3, double[] det_ax1, double[] det_ax2, String ax1_nam, String ax2_nam, double[] scan_ax)
Parameters List:
type
The detector type is a code indicating the detector type if known. This parameter does not imply values for any of the other parameters in this object. It may be required for some processing programs which need to access detector specific hardware or output files. The currently defined types are:
"unknown"
"mar"
geom
Detector geometry 0=flat or 1=cylindrical (may use FLAT, CYLINDRICAL).
det_rot1
Detector axis 1 rotation axis (3 element array).
det_rot2
Detector axis 2 rotation axis (3 element array).
det_rot3
Detector axis 3 rotation axis (3 element array).
det_ax1
Detector local axis 1 (3 element array).
det_ax2
Detector local axis 2 (3 element array).
ax1_nam
Name of detector local axis 1 (Max of 4 characters recommended).
ax2_nam
Name of detector local axis 2 (Max of 4 characters recommended).
scan_ax
Scan axis vector (3 element array).

4.2.7.5 Set Values

4.2.7.5.1 Introduction

This section has methods to set individual sets of values in the detector basics object.

Methods:

Set detector type - setDetectorType
Set detector geometry - setDetectorGeometry
Set detector rotations - setDetectorRotations
Set detector axes - setDetectorAxes
Set axis names - setAxisNames
Set scan axis - setScanAxis

4.2.7.5.2 Set detector type - setDetectorType

This method sets the detector type string.

Method Definition:
public void setDetectorType (String type)
Parameters List:
type
The detector type string (see above for details).

4.2.7.5.3 Set detector geometry - setDetectorGeometry

This method sets the detector geometry type.

Method Definition:
public void setDetectorGeometry (int geom)
Parameters List:
geom
Detector geometry 0=flat or 1=cylindrical (may use FLAT, CYLINDRICAL).

4.2.7.5.4 Set detector rotations - setDetectorRotations

This method sets the detector rotations vectors.

Method Definition:
public void setDetectorRotations(double[] det_rot1, double[] det_rot2, double[] det_rot3)
Parameters List:
det_rot1
Detector axis 1 rotation axis (3 element array).
det_rot2
Detector axis 2 rotation axis (3 element array).
det_rot3
Detector axis 3 rotation axis (3 element array).

4.2.7.5.5 Set detector axes - setDetectorAxes

This method sets the local detector axes vectors.

Method Definition:
public void setDetectorAxes(double[] det_ax1, double[] det_ax2)
Parameters List:
det_ax1
Detector local axis 1 (3 element array).
det_ax2
Detector local axis 2 (3 element array).

4.2.7.5.6 Set axis names - setAxisNames

This method sets names for the local detector axes.

Method Definition:
public void setAxisNames (String ax1_nam, String ax2_nam)
Parameters List:
ax1_nam
Name of detector local axis 1 (Max of 4 characters recommended).
ax2_nam
Name of detector local axis 2 (Max of 4 characters recommended).

4.2.7.5.7 Set scan axis - setScanAxis

This method sets the scan (crystal rotation) axis.

Method Definition:
public void setScanAxis (double[] scax)
Parameters List:
scax
Scan axis vector (3 element array).

4.2.7.6 Get Values

4.2.7.6.1 Introduction

This section has methods to get individual sets of values from the detector basics object.

Methods:

Get detector type - getDetectorType
Get detector geometry - getDetectorGeometry
Get detector rotations - getDetectorOrientations
Get detector axes - getDetectorAxes
Get axis 1 name - getAxis1Name
Get axis 2 name - getAxis2Name
Get beam vector - getBeamVector
Get scan axis - getScanAxis

4.2.7.6.2 Get detector type - getDetectorType

This method returns the detector type string.

Method Definition:
public String getDetectorType()
Parameters List:
none
Method Return:
The detector type string.

4.2.7.6.3 Get detector geometry - getDetectorGeometry

This method returns the detector geometry string.

Method Definition:
public int getDetectorGeometry()
Parameters List:
none
Method Return:
The detector geometry type 0=flat (FLAT) or 1=cylindrical (CYLINDRICAL).

4.2.7.6.4 Get detector rotations - getDetectorOrientations

This method returns the detector rotation vectors in arrays.

Method Definition:
public void getDetectorOrientations(double[] det_rot1, double[] det_rot2, double[] det_rot3)
Parameters List:
det_rot1
3 element array in which to return the 1'st rotation axis vector.
det_rot2
3 element array in which to return the 2'nd rotation axis vector.
det_rot3
3 element array in which to return the 3'rd rotation axis vector.

4.2.7.6.5 Get detector axes - getDetectorAxes

This method returns the detector loca axis vectors in arrays.

Method Definition:
public void getDetectorAxes(double[] det_ax1, double[] det_ax2)
Parameters List:
det_ax1
3 element array in which to return the 1'st local detector axis vector.
det_ax2
3 element array in which to return the 2'nd local detector axis vector.

4.2.7.6.6 Get axis 1 name - getAxis1Name

This method returns the name of the first local detector axis.

Method Definition:
public String getAxis1Name()
Parameters List:
none
Method Return:
The axis name.

4.2.7.6.7 Get axis 2 name - getAxis2Name

This method returns the name of the second local detector axis.

Method Definition:
public String getAxis2Name()
Parameters List:
none
Method Return:
The axis name.

4.2.7.6.8 Get beam vector - getBeamVector

This method returns the x-ray beam vector in a three element array.

Method Definition:
public void getBeamVector(double[] s0)
Parameters List:
s0
3 element array in which to return the beam vector.

4.2.7.6.9 Get scan axis - getScanAxis

This method returns the scan axis vector in a three element array.

Method Definition:
public void getScanAxis(double[] scax)
Parameters List:
scax
3 element array in which to return the scan axis vector.

4.2.7.7 List Detector Data

4.2.7.7.1 Introduction

This section has a single method to list the contents of the object primarily for diagnostic purposes.

Method:

List contents - listContents

4.2.7.7.2 List contents - listContents

This method lists the contents of the object.

Method Definition:
public void listContents()
Parameters List:
none

⇑ Up 2   ⇑ Up 1   ⇑ Top of this