QuantumCalculation
Date: 2019-10-22

org.jmol.quantum

## Class QuantumCalculation

- java.lang.Object
- - org.jmol.quantum.QuantumCalculation

- Direct Known Subclasses:
    MepCalculation, MOCalculation, QuantumPlaneCalculation

      public abstract class QuantumCalculation
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int` | `atomIndex`
    `protected static float` | `bohr_per_angstrom`
    `protected javajs.util.BS` | `bsExcluded`
    `protected int[]` | `countsXYZ`
    `protected boolean` | `doDebug`
    `protected int` | `firstAtomOffset`
    `protected float` | `integration`
    `protected int` | `nX`
    `protected int` | `nY`
    `protected int` | `nZ`
    `protected float[]` | `originBohr`
    `protected javajs.util.T3[]` | `points`
    `protected QMAtom[]` | `qmAtoms`
    `protected float` | `rangeBohrOrAngstroms`
    `protected float[]` | `stepBohr`
    `protected QMAtom` | `thisAtom`
    `protected float` | `unitFactor`
    `protected float` | `volume`
    `protected float[][][]` | `voxelData`
    `float[][][]` | `voxelDataTemp`
    `float[]` | `X`
    `float[]` | `X2`
    `protected float[]` | `xBohr`
    `int` | `xMax`
    `int` | `xMin`
    `float[]` | `Y`
    `float[]` | `Y2`
    `protected float[]` | `yBohr`
    `int` | `yMax`
    `int` | `yMin`
    `float[]` | `Z`
    `float[]` | `Z2`
    `protected float[]` | `zBohr`
    `int` | `zMax`
    `int` | `zMin`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `QuantumCalculation()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `createCube()`
    `float` | `getIntegration()`
    `protected void` | `initialize(int nX, int nY, int nZ, javajs.util.T3[] points)`
    `protected void` | `initialize0(int nX, int nY, int nZ, javajs.util.T3[] points)`
    `protected void` | `initializeOnePoint()`
    `protected void` | `initializeOnePointQC()`
    `protected abstract void` | `process()`
    `protected void` | `processPoints()`
    `float` | `processPt(javajs.util.T3 pt)`
    `void` | `setMinMax(int ix)`
    `protected void` | `setupCoordinates(float[] originXYZ, float[] stepsXYZ, javajs.util.BS bsSelected, javajs.util.T3[] xyz, Atom[] atoms, javajs.util.T3[] points, boolean renumber)`
    `protected void` | `setXYZBohr(javajs.util.T3[] points)`
    `private void` | `setXYZBohrI(float[] bohr, int i, int n, javajs.util.T3[] points)`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### doDebug

          protected boolean doDebug

    - #### bsExcluded

          protected javajs.util.BS bsExcluded

    - #### integration

          protected float integration

    - #### bohr_per_angstrom

          protected static final float bohr_per_angstrom

      See Also:
        Constant Field Values

    - #### voxelData

          protected float[][][] voxelData

    - #### voxelDataTemp

          public float[][][] voxelDataTemp

    - #### countsXYZ

          protected int[] countsXYZ

    - #### points

          protected javajs.util.T3[] points

    - #### xMin

          public int xMin

    - #### xMax

          public int xMax

    - #### yMin

          public int yMin

    - #### yMax

          public int yMax

    - #### zMin

          public int zMin

    - #### zMax

          public int zMax

    - #### qmAtoms

          protected QMAtom[] qmAtoms

    - #### atomIndex

          protected int atomIndex

    - #### thisAtom

          protected QMAtom thisAtom

    - #### firstAtomOffset

          protected int firstAtomOffset

    - #### xBohr

          protected float[] xBohr

    - #### yBohr

          protected float[] yBohr

    - #### zBohr

          protected float[] zBohr

    - #### originBohr

          protected float[] originBohr

    - #### stepBohr

          protected float[] stepBohr

    - #### nX

          protected int nX

    - #### nY

          protected int nY

    - #### nZ

          protected int nZ

    - #### X

          public float[] X

    - #### Y

          public float[] Y

    - #### Z

          public float[] Z

    - #### X2

          public float[] X2

    - #### Y2

          public float[] Y2

    - #### Z2

          public float[] Z2

    - #### rangeBohrOrAngstroms

          protected float rangeBohrOrAngstroms

    - #### unitFactor

          protected float unitFactor

    - #### volume

          protected float volume

  - ### Constructor Detail

    - #### QuantumCalculation

          public QuantumCalculation()

  - ### Method Detail

    - #### getIntegration

          public float getIntegration()

    - #### initialize

          protected void initialize(int nX,
                                    int nY,
                                    int nZ,
                                    javajs.util.T3[] points)

    - #### initialize0

          protected void initialize0(int nX,
                                     int nY,
                                     int nZ,
                                     javajs.util.T3[] points)

    - #### setupCoordinates

          protected void setupCoordinates(float[] originXYZ,
                                          float[] stepsXYZ,
                                          javajs.util.BS bsSelected,
                                          javajs.util.T3[] xyz,
                                          Atom[] atoms,
                                          javajs.util.T3[] points,
                                          boolean renumber)

      Parameters:
        `originXYZ` -
        `stepsXYZ` -
        `bsSelected` -
        `xyz` - full T3[] array -- may be transformed coordinates of Atom[]
        `atoms` - for debugging only -- full Atom[] array
        `points` -
        `renumber` -

    - #### processPt

          public float processPt(javajs.util.T3 pt)

    - #### processPoints

          protected void processPoints()

    - #### initializeOnePoint

          protected void initializeOnePoint()

    - #### initializeOnePointQC

          protected void initializeOnePointQC()

    - #### process

          protected abstract void process()

    - #### setXYZBohr

          protected void setXYZBohr(javajs.util.T3[] points)

    - #### setXYZBohrI

          private void setXYZBohrI(float[] bohr,
                                   int i,
                                   int n,
                                   javajs.util.T3[] points)

    - #### setMinMax

          public void setMinMax(int ix)

    - #### createCube

          public abstract void createCube()