Instument scattering calculator using atomic structure + goniometer settings
Need to develop a tool that will produce a list of HKL that would show up if we input:
- atomic structure / PDB file
- goniometer settings (rotation angles of the sample)
- instrument definition files (for the detector positions in relation to the sample for scattering; @z0m correct me if I have that input wrong)
- wavelength range (min and max)
- background / noise to add to the data
Concept:
- we have the atomic distances in the PDB structures which are the HKL we are interested in
- Since we have a single crystal, we need the orientation of the structures in the beam. This comes from the goniometer settings to give us the rotations of the PDB structure for scattering.
- To solve Bragg's law, we need scattering angles and wavelength
- The instrument definition file provides the scattering angles since it has the sample position (
x_s
,y_s
, andz_s
wheres
is forsample
) and all the detector pixel positions (x_i
,y_i
,z_i
fori
element ofN
whereN
is number of pixels). We then calculate all the instrument angles we have that exist between the original beam path, the sample position, and each detector pixel. - The input wavelength min and max give us the other part for solving HKL via Bragg's Law
Output would be either a pattern from the detectors or a list of H,K,L in that detector.