# Class NMRNoeMatrix

java.lang.Object
org.jmol.quantum.NMRNoeMatrix

public class NMRNoeMatrix extends Object
Class for calculating NOE intensities by full matrix relaxation approach.

create an instance of the class:

NoeMatrix n = new NoeMatrix();

Create the atom list:

n.makeAtomList(x);

where x is the number of atoms (methyls count as 1). add the atoms in turn with:

n.addAtom(x,y,z);

where x y and z are the atom coordinates, or:

n.addMethyl(x,y,z,x1,y1,z1,x2,y2,z2);

which does the same for a methyl. T

hen just call calcNOEs:

double[][] results = n.calcNOEs();

This will need to be in a try statement as this routine throws an exception if the atoms have not been set up properly.

Author:
  YE91009

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`NMRNoeMatrix.NOEParams`

## Method Summary

Modifier and Type
Method
Description
`void`
`addAtom(double x, double y, double z)`
add a proton to the atom list
`void`
`addEquiv(double[] xa, double[] ya, double[] za)`
`void`
`addMethyl(double x, double y, double z, double x1, double y1, double z1, double x2, double y2, double z2)`
Add a methyl group to the atom list
`void`
`calcNOEs()`
calculate the NOESY spectrum at a particular mixing time.
`static NMRNoeMatrix`
`createMatrix(Viewer viewer, BS bsMol, String[] labelArray, NMRNoeMatrix.NOEParams params)`
`double`
`getJmolDistance(int a, int b)`
`double`
`getJmolNoe(int a, int b)`
`NMRNoeMatrix.NOEParams`
`getParams()`
`void`
`initArrays(int n)`
create an empty atom list for subsequent population with atoms
`static void`
`main(String[] args)`
`String`
`toString()`
`String`
`toStringNormRow()`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Method Details

### createMatrix

public static NMRNoeMatrix createMatrix(Viewer viewer, BS bsMol, String[] labelArray, NMRNoeMatrix.NOEParams params)

### getParams

public NMRNoeMatrix.NOEParams getParams()

### calcNOEs

public void calcNOEs() throws Exception
calculate the NOESY spectrum at a particular mixing time. Onc eyou have created and built the atom list, this is the only function you need to call.

Throws:
  `Exception` - Description of the Exception
  `Exception` - Throws an exception when the atom list has not been created or is not properly filled with atoms

### initArrays

public void initArrays(int n)
create an empty atom list for subsequent population with atoms

Parameters:
  `n` - the number of atoms to be added

### addAtom

public void addAtom(double x, double y, double z)
add a proton to the atom list

Parameters:
  `x` - the x position of the atom (in Angstroms)
  `y` - the x position of the atom (in Angstroms)
  `z` - the z position of the atom (in Angstroms)

### addMethyl

public void addMethyl(double x, double y, double z, double x1, double y1, double z1, double x2, double y2, double z2)
Add a methyl group to the atom list

Parameters:
  `x` - the x position of atom 1 (in Angstroms)
  `y` - the y position of atom 1 (in Angstroms)
  `z` - the z position of atom 1 (in Angstroms)
  `x1` - the x position of atom 2 (in Angstroms)
  `y1` - the y position of atom 2 (in Angstroms)
  `z1` - the z position of atom 2 (in Angstroms)
  `x2` - the x position of atom 3 (in Angstroms)
  `y2` - the y position of atom 3 (in Angstroms)
  `z2` - the z position of atom 3 (in Angstroms)

### addEquiv

public void addEquiv(double[] xa, double[] ya, double[] za)

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### toStringNormRow

public String toStringNormRow()

### main

public static void main(String[] args)

### getJmolDistance

public double getJmolDistance(int a, int b)

### getJmolNoe

public double getJmolNoe(int a, int b)