BasisFunctionReader
Date: 2019-10-22

org.jmol.adapter.readers.quantum

## Class BasisFunctionReader

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

- All Implemented Interfaces:
    javajs.api.GenericLineReader
  Direct Known Subclasses:
    MOReader, SlaterReader, SpartanInputReader, SpartanReader

      public abstract class BasisFunctionReader
      extends AtomSetCollectionReader

  Author:
    hansonr

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BasisFunctionReader.MOEnergySorter`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.String` | `alphaBeta`
    `protected int[][]` | `dfCoefMaps`
    `private boolean` | `filterIsNot`
    `private java.lang.String[]` | `filterTokens`
    `private int[]` | `highLEnabled`
    `protected boolean` | `ignoreMOs`
    `java.util.Map<java.lang.String,java.lang.Object>` | `moData`
    `protected int` | `nCoef`
    `protected int` | `nOrbitals`
    `(package private) java.util.Map<java.lang.String,java.lang.String>` | `orbitalMaps`
    `javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>>` | `orbitals`
    `javajs.util.Lst<int[]>` | `shells`
    `private java.lang.String` | `spin`

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected static java.lang.String` | `canonicalizeQuantumSubshellTag(java.lang.String tag)`
    `protected void` | `clearOrbitals()`
    `protected void` | `discardPreviousAtoms()`
    `protected void` | `enableShell(int shellType)` This flag must be explicitly set when a reader has been verified to properly sort G, H, I,...
    `protected boolean` | `filterMO()` check line for filter options
    `protected int` | `fixSlaterTypes(int typeOld, int typeNew)`
    `int[][]` | `getDfCoefMaps()`
    `protected boolean` | `getDFMap(java.lang.String shell, java.lang.String fileList, int shellType, java.lang.String jmolList, int minLength)` finds the position in the Jmol-required list of function types.
    `static java.lang.String` | `getQuantumShellTag(int id)`
    `static int` | `getQuantumShellTagID(java.lang.String tag)`
    `static int` | `getQuantumShellTagIDSpherical(java.lang.String tag)`
    `void` | `setMO(java.util.Map<java.lang.String,java.lang.Object> mo)`

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

      `addAtomXYZSymName, addExplicitLatticeVector, addJmolScript, addSites, addSiteScript, appendLoadNote, appendUunitCellInfo, applySymmetryAndSetTrajectory, applySymTrajASCR, checkCurrentLineForScript, checkFilterKey, checkLastModel, checkLine, checkLineForScript, clearUnitCell, cloneLastAtomSet, discardLinesUntilBlank, discardLinesUntilContains, discardLinesUntilContains2, discardLinesUntilNonBlank, discardLinesUntilStartsWith, 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, initializeReader, 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

    - #### shells

          public javajs.util.Lst<int[]> shells

    - #### moData

          public java.util.Map<java.lang.String,java.lang.Object> moData

    - #### orbitals

          public javajs.util.Lst<java.util.Map<java.lang.String,java.lang.Object>> orbitals

    - #### nOrbitals

          protected int nOrbitals

    - #### ignoreMOs

          protected boolean ignoreMOs

    - #### alphaBeta

          protected java.lang.String alphaBeta

    - #### dfCoefMaps

          protected int[][] dfCoefMaps

    - #### filterTokens

          private java.lang.String[] filterTokens

    - #### filterIsNot

          private boolean filterIsNot

    - #### spin

          private java.lang.String spin

    - #### orbitalMaps

          java.util.Map<java.lang.String,java.lang.String> orbitalMaps

    - #### highLEnabled

          private int[] highLEnabled

    - #### nCoef

          protected int nCoef

  - ### Constructor Detail

    - #### BasisFunctionReader

          public BasisFunctionReader()

  - ### Method Detail

    - #### filterMO

          protected boolean filterMO()

      check line for filter options
      Returns:
        true if a match

    - #### setMO

          public void setMO(java.util.Map<java.lang.String,java.lang.Object> mo)

    - #### getDFMap

          protected boolean getDFMap(java.lang.String shell,
                                     java.lang.String fileList,
                                     int shellType,
                                     java.lang.String jmolList,
                                     int minLength)

      finds the position in the Jmol-required list of function types. This list is reader-dependent.
      Parameters:
        `shell` - TODO
        `fileList` -
        `shellType` -
        `jmolList` -
        `minLength` -
      Returns:
        true if successful

    - #### enableShell

          protected void enableShell(int shellType)

      This flag must be explicitly set when a reader has been verified to properly sort G, H, I,... orbitals.
      Parameters:
        `shellType` -

    - #### getDfCoefMaps

          public int[][] getDfCoefMaps()

    - #### canonicalizeQuantumSubshellTag

          protected static final java.lang.String canonicalizeQuantumSubshellTag(java.lang.String tag)

    - #### fixSlaterTypes

          protected int fixSlaterTypes(int typeOld,
                                       int typeNew)

    - #### getQuantumShellTagIDSpherical

          public static int getQuantumShellTagIDSpherical(java.lang.String tag)

    - #### getQuantumShellTagID

          public static int getQuantumShellTagID(java.lang.String tag)

    - #### getQuantumShellTag

          public static java.lang.String getQuantumShellTag(int id)

    - #### discardPreviousAtoms

          protected void discardPreviousAtoms()

      Overrides:
        `discardPreviousAtoms` in class `AtomSetCollectionReader`

    - #### clearOrbitals

          protected void clearOrbitals()