BinaryDcdReader
Date: 2019-10-22

org.jmol.adapter.readers.more

## Class BinaryDcdReader

- java.lang.Object
- - org.jmol.adapter.smarter.AtomSetCollectionReader
  - - org.jmol.adapter.readers.more.BinaryDcdReader

- All Implemented Interfaces:
    javajs.api.GenericLineReader

      public class BinaryDcdReader
      extends AtomSetCollectionReader

  DCD binary trajectory file reader. see http://www.ks.uiuc.edu/Research/vmd/plugins/molfile/dcdplugin.html and http://www.ks.uiuc.edu/Research/namd/mailing_list/namd-l/5651.html Bob Hanson 2/18/2011 requires PDB file load trajectory "c:/temp/t.pdb" coord "c:/temp/t.dcd"

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private javajs.util.BS` | `bsFree`
    `private int` | `crystGroup`
    `private int` | `nAtoms`
    `private int` | `nFree`
    `private int` | `nModels`
    `private float[]` | `xAll`
    `private float[]` | `yAll`
    `private float[]` | `zAll`

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private float[]` | `calcUnitCell(double[] abc)`
    `private boolean` | `getTrajectoryStep(javajs.util.P3[] trajectoryStep)`
    `protected void` | `initializeReader()`
    `protected void` | `processBinaryDocument()`
    `private void` | `readCoordinates()`
    `private double[]` | `readDoubleArray()`
    `private float[]` | `readFloatArray()`
    `protected void` | `setup(java.lang.String fullPath, java.util.Map<java.lang.String,java.lang.Object> htParams, java.lang.Object reader)`
    `private java.lang.String` | `trimString(java.lang.String s)`

    - ### 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, 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, 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, setupASCR`

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

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

- - ### Field Detail

    - #### nModels

          private int nModels

    - #### nAtoms

          private int nAtoms

    - #### nFree

          private int nFree

    - #### bsFree

          private javajs.util.BS bsFree

    - #### xAll

          private float[] xAll

    - #### yAll

          private float[] yAll

    - #### zAll

          private float[] zAll

    - #### crystGroup

          private int crystGroup

  - ### Constructor Detail

    - #### BinaryDcdReader

          public BinaryDcdReader()

  - ### Method Detail

    - #### setup

          protected void setup(java.lang.String fullPath,
                               java.util.Map<java.lang.String,java.lang.Object> htParams,
                               java.lang.Object reader)

      Overrides:
        `setup` in class `AtomSetCollectionReader`

    - #### initializeReader

          protected void initializeReader()

      Overrides:
        `initializeReader` in class `AtomSetCollectionReader`

    - #### processBinaryDocument

          protected void processBinaryDocument()
                                        throws java.lang.Exception

      Overrides:
        `processBinaryDocument` in class `AtomSetCollectionReader`
      Throws:
        `java.lang.Exception`

    - #### trimString

          private java.lang.String trimString(java.lang.String s)

    - #### readFloatArray

          private float[] readFloatArray()
                                  throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### readDoubleArray

          private double[] readDoubleArray()
                                    throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### readCoordinates

          private void readCoordinates()
                                throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getTrajectoryStep

          private boolean getTrajectoryStep(javajs.util.P3[] trajectoryStep)
                                     throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### calcUnitCell

          private float[] calcUnitCell(double[] abc)