XmlMOReader
Date: 2019-10-22

org.jmol.adapter.readers.xml

## Class XmlMOReader

- java.lang.Object
- - org.jmol.adapter.smarter.AtomSetCollectionReader
  - - org.jmol.adapter.readers.xml.XmlReader
    - - org.jmol.adapter.readers.xml.XmlCmlReader
      - - org.jmol.adapter.readers.xml.XmlMOReader

- All Implemented Interfaces:
    javajs.api.GenericLineReader
  Direct Known Subclasses:
    XmlMolproReader

      public abstract class XmlMOReader
      extends XmlCmlReader

  An abstract class accessing MOReader -- currently just for XmlMolproReader only. Several assumptions here.
  Author:
    hansonr Bob Hanson hansonr@stolaf.edu

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.lang.String[]` | `basisAtoms`
    `private javajs.util.Lst<float[]>` | `basisData`
    `private java.lang.String` | `basisId`
    `private java.lang.String[]` | `basisIds`
    `private java.lang.String` | `calcType`
    `private int` | `coefCount`
    `protected java.lang.String` | `dclist`
    `protected java.lang.String` | `dslist`
    `protected java.lang.String` | `fclist`
    `protected java.lang.String` | `fslist`
    `private int` | `gaussianCount`
    `private int` | `groupCount`
    `private java.util.Map<java.lang.String,int[]>` | `htSlaterIDs`
    `protected boolean` | `iHaveCoefMaps`
    `private int` | `iModelMO`
    `private boolean` | `isSpherical`
    `private javajs.util.Lst<javajs.util.Lst<float[]>>` | `lstGaussians`
    `private int` | `maxContraction`
    `private int` | `maxL`
    `private int` | `minL`
    `private int` | `moCount`
    `private MOReader` | `moReader`
    `private float` | `orbEnergy`
    `private float` | `orbOcc`
    `private boolean` | `skipMOs`
    `private int` | `slaterCount`

    - ### Fields inherited from class org.jmol.adapter.readers.xml.XmlCmlReader

      `ASSOCIATION, CML, CRYSTAL, CRYSTAL_SCALAR, CRYSTAL_SYMMETRY, CRYSTAL_SYMMETRY_TRANSFORM3, htModelAtomMap, LATTICE_VECTOR, MODULE, MOLECULE, MOLECULE_ATOM, MOLECULE_ATOM_ARRAY, MOLECULE_ATOM_BUILTIN, MOLECULE_ATOM_SCALAR, MOLECULE_BOND, MOLECULE_BOND_ARRAY, MOLECULE_BOND_BUILTIN, MOLECULE_BOND_STEREO, MOLECULE_FORMULA, moleculeID, processing, START, state, SYMMETRY, tokens`

    - ### Fields inherited from class org.jmol.adapter.readers.xml.XmlReader

      `atom, atts, bond, chars, keepChars, parent`

    - ### 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
    `XmlMOReader()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `buildSlaters()`
    `private java.lang.String[]` | `getXlink(java.lang.String href, java.lang.String key, boolean addMoleculeID)`
    `protected boolean` | `processEndMO(java.lang.String localName)`
    `protected boolean` | `processStartMO(java.lang.String localName)`
    `protected void` | `processXml(XmlReader parent, java.lang.Object saxReader)` the current state

    - ### Methods inherited from class org.jmol.adapter.readers.xml.XmlCmlReader

      `applySymmetryAndSetTrajectory, breakOutAtomTokens, breakOutBondTokens, checkAtomArrayLength, checkBondArrayLength, endDocument, processEnd2, processEndElement, processStart2, processStartElement`

    - ### Methods inherited from class org.jmol.adapter.readers.xml.XmlReader

      `createDomNodeJS, initCML, initializeReader, processDOM, processXml2, setKeepChars`

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

      `addAtomXYZSymName, addExplicitLatticeVector, addJmolScript, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymTrajASCR, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLine, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, discardPreviousAtoms, doGetModel, doGetVibration, doPreSymmetry, fill3x3, fillDataBlock, fillDataBlockFixed, fillFloatArray, fillFrequencyData, filterAtom, filterReject, finalizeMOData, finalizeModelSet, finalizeReaderASCR, finalizeSubclassReader, 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, 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

    - #### moReader

          private MOReader moReader

    - #### skipMOs

          private boolean skipMOs

    - #### htSlaterIDs

          private java.util.Map<java.lang.String,int[]> htSlaterIDs

    - #### basisData

          private javajs.util.Lst<float[]> basisData

    - #### basisId

          private java.lang.String basisId

    - #### isSpherical

          private boolean isSpherical

    - #### minL

          private int minL

    - #### maxL

          private int maxL

    - #### basisIds

          private java.lang.String[] basisIds

    - #### basisAtoms

          private java.lang.String[] basisAtoms

    - #### orbOcc

          private float orbOcc

    - #### orbEnergy

          private float orbEnergy

    - #### gaussianCount

          private int gaussianCount

    - #### slaterCount

          private int slaterCount

    - #### coefCount

          private int coefCount

    - #### groupCount

          private int groupCount

    - #### lstGaussians

          private javajs.util.Lst<javajs.util.Lst<float[]>> lstGaussians

    - #### moCount

          private int moCount

    - #### calcType

          private java.lang.String calcType

    - #### iModelMO

          private int iModelMO

    - #### dclist

          protected java.lang.String dclist

    - #### dslist

          protected java.lang.String dslist

    - #### fclist

          protected java.lang.String fclist

    - #### fslist

          protected java.lang.String fslist

    - #### iHaveCoefMaps

          protected boolean iHaveCoefMaps

    - #### maxContraction

          private int maxContraction

  - ### Constructor Detail

    - #### XmlMOReader

          public XmlMOReader()

  - ### Method Detail

    - #### processXml

          protected void processXml(XmlReader parent,
                                    java.lang.Object saxReader)
                             throws java.lang.Exception

      Description copied from class: `XmlCmlReader`
      the current state
      Overrides:
        `processXml` in class `XmlCmlReader`
      Throws:
        `java.lang.Exception`

    - #### processStartMO

          protected boolean processStartMO(java.lang.String localName)

    - #### processEndMO

          protected boolean processEndMO(java.lang.String localName)

    - #### buildSlaters

          private void buildSlaters()

    - #### getXlink

          private java.lang.String[] getXlink(java.lang.String href,
                                              java.lang.String key,
                                              boolean addMoleculeID)