GaussianFchkReader
Date: 2019-10-22

org.jmol.adapter.readers.quantum

## Class GaussianFchkReader

- java.lang.Object
- - org.jmol.adapter.smarter.AtomSetCollectionReader
  - - org.jmol.adapter.readers.quantum.BasisFunctionReader
    - - org.jmol.adapter.readers.quantum.MOReader
      - - org.jmol.adapter.readers.quantum.GaussianReader
        - - org.jmol.adapter.readers.quantum.GaussianFchkReader

- All Implemented Interfaces:
    javajs.api.GenericLineReader

      public class GaussianFchkReader
      extends GaussianReader

  Reader for Gaussian fchk files for vibrational modes, add Freq=(SaveNormalModes,Raman,VibRot) also allows appended freq data
  Author:
    hansonr Bob Hanson hansonr@stolaf.edu

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader

      `BasisFunctionReader.MOEnergySorter`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private static java.lang.String[]` | `AO_TYPES`
    `private int` | `atomCount`
    `private java.util.Map<java.lang.String,java.lang.Object>` | `fileData`

    - ### Fields inherited from class org.jmol.adapter.readers.quantum.GaussianReader

      `calculationNumber, namedSets`

    - ### Fields inherited from class org.jmol.adapter.readers.quantum.MOReader

      `allowNoOrbitals, energyUnits, gaussianCount, gaussians, haveNboCharges, haveNboOrbitals, HEADER_GAMESS_OCCUPANCIES, HEADER_GAMESS_ORIGINAL, HEADER_GAMESS_UK_MO, HEADER_NONE, moTypes, orbitalsRead, shellCount`

    - ### Fields inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader

      `alphaBeta, dfCoefMaps, ignoreMOs, moData, nCoef, nOrbitals, orbitalMaps, orbitals, shells`

    - ### Fields inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader

      `addedData, addedDataKey, addVibrations, allowPDBFilter, ANGSTROMS_PER_BOHR, applySymmetryToBonds, asc, baseAtomIndex, binaryDoc, bsFilter, bsModels, calculationType, continuing, debugging, desiredModelNumber, desiredSpaceGroupIndex, desiredVibrationNumber, doApplySymmetry, doCentralize, doCheckUnitCell, doConvertToFractional, doPackUnitCell, doProcessLines, doReadMolecularOrbitals, dssr, fileName, fileOffset, filePath, fileScaling, fillRange, filter, filterHetero, fixJavaFloat, forcePacked, getHeader, haveAtomFilter, haveModel, havePartialChargeFilter, htParams, ignoreFileSpaceGroupName, ignoreFileSymmetryOperators, ignoreFileUnitCell, ignoreStructure, iHaveFractionalCoordinates, iHaveSymmetryOperators, iHaveUnitCell, isBinary, isConcatenated, isDSSP1, isFinalized, isMolecular, isPrimitive, isSequential, isTrajectory, latticeCells, latticeScaling, latticeType, line, lstNCS, matUnitCellOrientation, modDim, modelNumber, ms, mustFinalizeModelSet, next, out, packingError, prevline, primitiveToCrystal, ptLine, ptSupercell, reader, readerName, requiresBSFilter, reverseModels, rotateHexCell, sgName, stateScriptVersionInt, strSupercell, symmetry, templateAtomCount, thisBiomolecule, trajectorySteps, unitCellOffset, unitCellParams, useAltNames, useFileModelNumbers, validation, vibrationNumber, vibsFractional, vwr`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `GaussianFchkReader()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `checkForFreq()`
    `private float[]` | `fillFloat(float[] f0, int i, int n)`
    `private void` | `getOrbitals(float[] e, float[] c, int occ, int nElec)`
    `protected void` | `initializeReader()`
    `private void` | `readAllData()`
    `protected void` | `readAtoms()`
    `protected void` | `readBasis()`
    `protected void` | `readBonds()`
    `protected void` | `readDipoleMoment()`
    `protected void` | `readMolecularObitals()`
    `protected void` | `readPartialCharges()` Reads partial charges and assigns them only to the last atom set.

    - ### Methods inherited from class org.jmol.adapter.readers.quantum.GaussianReader

      `checkLine, finalizeSubclassReader, readFrequencies, readMolecularOrbitals`

    - ### Methods inherited from class org.jmol.adapter.readers.quantum.MOReader

      `addCoef, addMOData, checkAndRemoveFilterKey, checkNboLine, getMOHeader, getNboTypes, readMolecularOrbitals, setMOData`

    - ### Methods inherited from class org.jmol.adapter.readers.quantum.BasisFunctionReader

      `canonicalizeQuantumSubshellTag, clearOrbitals, discardPreviousAtoms, enableShell, filterMO, fixSlaterTypes, getDfCoefMaps, getDFMap, getQuantumShellTag, getQuantumShellTagID, getQuantumShellTagIDSpherical, setMO`

    - ### Methods inherited from class org.jmol.adapter.smarter.AtomSetCollectionReader

      `addAtomXYZSymName, addExplicitLatticeVector, addJmolScript, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymmetryAndSetTrajectory, applySymTrajASCR, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, doGetModel, doGetVibration, doPreSymmetry, fill3x3, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, finalizeSubclassSymmetry, forceSymmetry, fractionalizeCoordinates, getElementSymbol, getFilter, getFortranFormatLengths, getInterface, getNewSymmetry, getStrings, getSymmetry, getTokens, getTokensFloat, initializeSymmetry, initializeSymmetryOptions, initializeTrajectoryFile, isLastModel, newAtomSet, parseFloat, parseFloatRange, parseFloatStr, parseInt, parseIntAt, parseIntRange, parseIntStr, parseToken, parseTokenNext, parseTokenRange, parseTokenStr, processBinaryDocument, processDOM, rd, read3Vectors, readDataObject, readLines, readNextLine, rejectAtomName, RL, set2D, setAtomCoord, setAtomCoordScaled, setAtomCoordTokens, setAtomCoordXYZ, setChainID, setElementAndIsotope, setFilter, setFilterAtomTypeStr, setFractionalCoordinates, setIsPDB, setLoadNote, setModelPDB, setSpaceGroupName, setSymmetryOperator, setTransform, setUnitCell, setUnitCellItem, setup, setupASCR`

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

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

- - ### Field Detail

    - #### fileData

          private java.util.Map<java.lang.String,java.lang.Object> fileData

    - #### atomCount

          private int atomCount

    - #### AO_TYPES

          private static java.lang.String[] AO_TYPES

  - ### Constructor Detail

    - #### GaussianFchkReader

          public GaussianFchkReader()

  - ### Method Detail

    - #### initializeReader

          protected void initializeReader()
                                   throws java.lang.Exception

      Overrides:
        `initializeReader` in class `GaussianReader`
      Throws:
        `java.lang.Exception`

    - #### checkForFreq

          private void checkForFreq()
                             throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### fillFloat

          private float[] fillFloat(float[] f0,
                                    int i,
                                    int n)

    - #### readAllData

          private void readAllData()
                            throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### readAtoms

          protected void readAtoms()
                            throws java.lang.Exception

      Overrides:
        `readAtoms` in class `GaussianReader`
      Throws:
        `java.lang.Exception`

    - #### readBonds

          protected void readBonds()

    - #### readDipoleMoment

          protected void readDipoleMoment()
                                   throws java.lang.Exception

      Overrides:
        `readDipoleMoment` in class `GaussianReader`
      Throws:
        `java.lang.Exception`

    - #### readPartialCharges

          protected void readPartialCharges()
                                     throws java.lang.Exception

      Description copied from class: `GaussianReader`
      Reads partial charges and assigns them only to the last atom set.
      Overrides:
        `readPartialCharges` in class `GaussianReader`
      Throws:
        `java.lang.Exception` - When an I/O error or discardlines error occurs

    - #### readBasis

          protected void readBasis()
                            throws java.lang.Exception

      Overrides:
        `readBasis` in class `GaussianReader`
      Throws:
        `java.lang.Exception`

    - #### readMolecularObitals

          protected void readMolecularObitals()
                                       throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getOrbitals

          private void getOrbitals(float[] e,
                                   float[] c,
                                   int occ,
                                   int nElec)