MSCifParser
Date: 2019-10-22

org.jmol.adapter.readers.cif

## Class MSCifParser

- java.lang.Object
- - org.jmol.adapter.readers.cif.MSRdr
  - - org.jmol.adapter.readers.cif.MSCifParser

- All Implemented Interfaces:
    MSInterface

      public class MSCifParser
      extends MSRdr

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private javajs.util.M3` | `comSSMat`
    `private static int` | `DEPR_FD_COS`
    `private static int` | `DEPR_FD_SIN`
    `private static int` | `DEPR_FO_COS`
    `private static int` | `DEPR_FO_SIN`
    `private static int` | `DEPR_FU_COS`
    `private static int` | `DEPR_FU_SIN`
    `private static int` | `DISP_SAW_AX`
    `private static int` | `DISP_SAW_AY`
    `private static int` | `DISP_SAW_AZ`
    `private static int` | `DISP_SAW_C`
    `private static int` | `DISP_SAW_W`
    `private static int` | `DISP_SPEC_LABEL`
    `private static int` | `FD_ID`
    `private static int` | `FDP_ID`
    `private java.lang.String` | `field`
    `private static int` | `FO_ID`
    `private static int` | `FOP_ID`
    `private static int` | `FU_ID`
    `private static int` | `FUP_ID`
    `private static int` | `FWV_DISP_AXIS`
    `private static int` | `FWV_DISP_COS`
    `private static int` | `FWV_DISP_LABEL`
    `private static int` | `FWV_DISP_MODULUS`
    `private static int` | `FWV_DISP_PHASE`
    `private static int` | `FWV_DISP_SEQ_ID`
    `private static int` | `FWV_DISP_SIN`
    `private static int` | `FWV_ID`
    `private static int` | `FWV_OCC_COS`
    `private static int` | `FWV_OCC_LABEL`
    `private static int` | `FWV_OCC_MODULUS`
    `private static int` | `FWV_OCC_PHASE`
    `private static int` | `FWV_OCC_SEQ_ID`
    `private static int` | `FWV_OCC_SIN`
    `private static int` | `FWV_Q_COEF`
    `private static int` | `FWV_SPIN_AXIS`
    `private static int` | `FWV_SPIN_COS`
    `private static int` | `FWV_SPIN_LABEL`
    `private static int` | `FWV_SPIN_MODULUS`
    `private static int` | `FWV_SPIN_PHASE`
    `private static int` | `FWV_SPIN_SEQ_ID`
    `private static int` | `FWV_SPIN_SIN`
    `private static int` | `FWV_U_COS`
    `private static int` | `FWV_U_LABEL`
    `private static int` | `FWV_U_MODULUS`
    `private static int` | `FWV_U_PHASE`
    `private static int` | `FWV_U_SEQ_ID`
    `private static int` | `FWV_U_SIN`
    `private static int` | `FWV_U_TENS`
    `private static int` | `FWV_X`
    `private static int` | `FWV_Y`
    `private static int` | `FWV_Z`
    `private static int` | `JANA_FWV_Q1_COEF`
    `private static int` | `JANA_FWV_Q2_COEF`
    `private static int` | `JANA_FWV_Q3_COEF`
    `private static int` | `JANA_OCC_ABS_LABEL`
    `private static int` | `JANA_OCC_ABS_O_0`
    `private static int` | `LEG_DISP_AXIS`
    `private static int` | `LEG_DISP_COEF`
    `private static int` | `LEG_DISP_LABEL`
    `private static int` | `LEG_DISP_ORDER`
    `private static int` | `LEG_OCC_COEF`
    `private static int` | `LEG_OCC_LABEL`
    `private static int` | `LEG_OCC_ORDER`
    `private static int` | `LEG_U_COEF`
    `private static int` | `LEG_U_LABEL`
    `private static int` | `LEG_U_ORDER`
    `private static int` | `LEG_U_TENS`
    `private static java.lang.String[]` | `modulationFields`
    `private static int` | `NONE`
    `private static int` | `OCC_CRENEL_C`
    `private static int` | `OCC_CRENEL_W`
    `private static int` | `OCC_SPECIAL_LABEL`
    `private static int` | `SPIN_SAW_AX`
    `private static int` | `SPIN_SAW_AY`
    `private static int` | `SPIN_SAW_AZ`
    `private static int` | `SPIN_SAW_C`
    `private static int` | `SPIN_SAW_W`
    `private static int` | `SPIN_SPEC_LABEL`
    `private static int` | `WV_ID`
    `private static int` | `WV_X`
    `private static int` | `WV_Y`
    `private static int` | `WV_Z`

    - ### Fields inherited from class org.jmol.adapter.readers.cif.MSRdr

      `commensurateSection1, cr, htSubsystems, isCommensurate, modAverage, modAxes, modDim`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MSCifParser()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `addMod(java.lang.String id, java.lang.String fid, double[] params)`
    `private int` | `fieldProperty(CifReader cr, int i)`
    `private javajs.util.Matrix` | `getSparseMatrix(CifReader cr, java.lang.String term, int i, int dim)`
    `void` | `processEntry()`
    `int` | `processLoopBlock()` creates entries in htModulation with a key of the form: type_id_axis;atomLabel@model where type = W|F|D|O (wave vector, Fourier index, displacement, occupancy); id = 1|2|3|0|S (Fourier index, Crenel(0), sawtooth); axis (optional) = 0|x|y|z (0 indicates irrelevant -- occupancy); and ;atomLabel is only for D and O.
    `private int` | `processSubsystemLoopBlock()`

    - ### Methods inherited from class org.jmol.adapter.readers.cif.MSRdr

      `addLatticeVector, addModulation, addSubsystem, finalizeModulation, getAtomSymmetry, getMod, getModType, getModulationMap, getQCoefs, getSigma, getSymmetryFromCode, initialize, setMinMax0, setModDim, setModulation`

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

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

- - ### Field Detail

    - #### field

          private java.lang.String field

    - #### FWV_ID

          private static final int FWV_ID

      See Also:
        Constant Field Values

    - #### WV_ID

          private static final int WV_ID

      See Also:
        Constant Field Values

    - #### WV_X

          private static final int WV_X

      See Also:
        Constant Field Values

    - #### WV_Y

          private static final int WV_Y

      See Also:
        Constant Field Values

    - #### WV_Z

          private static final int WV_Z

      See Also:
        Constant Field Values

    - #### FWV_X

          private static final int FWV_X

      See Also:
        Constant Field Values

    - #### FWV_Y

          private static final int FWV_Y

      See Also:
        Constant Field Values

    - #### FWV_Z

          private static final int FWV_Z

      See Also:
        Constant Field Values

    - #### FWV_Q_COEF

          private static final int FWV_Q_COEF

      See Also:
        Constant Field Values

    - #### JANA_FWV_Q1_COEF

          private static final int JANA_FWV_Q1_COEF

      See Also:
        Constant Field Values

    - #### JANA_FWV_Q2_COEF

          private static final int JANA_FWV_Q2_COEF

      See Also:
        Constant Field Values

    - #### JANA_FWV_Q3_COEF

          private static final int JANA_FWV_Q3_COEF

      See Also:
        Constant Field Values

    - #### FWV_DISP_LABEL

          private static final int FWV_DISP_LABEL

      See Also:
        Constant Field Values

    - #### FWV_DISP_AXIS

          private static final int FWV_DISP_AXIS

      See Also:
        Constant Field Values

    - #### FWV_DISP_SEQ_ID

          private static final int FWV_DISP_SEQ_ID

      See Also:
        Constant Field Values

    - #### FWV_DISP_COS

          private static final int FWV_DISP_COS

      See Also:
        Constant Field Values

    - #### FWV_DISP_SIN

          private static final int FWV_DISP_SIN

      See Also:
        Constant Field Values

    - #### FWV_DISP_MODULUS

          private static final int FWV_DISP_MODULUS

      See Also:
        Constant Field Values

    - #### FWV_DISP_PHASE

          private static final int FWV_DISP_PHASE

      See Also:
        Constant Field Values

    - #### DISP_SPEC_LABEL

          private static final int DISP_SPEC_LABEL

      See Also:
        Constant Field Values

    - #### DISP_SAW_AX

          private static final int DISP_SAW_AX

      See Also:
        Constant Field Values

    - #### DISP_SAW_AY

          private static final int DISP_SAW_AY

      See Also:
        Constant Field Values

    - #### DISP_SAW_AZ

          private static final int DISP_SAW_AZ

      See Also:
        Constant Field Values

    - #### DISP_SAW_C

          private static final int DISP_SAW_C

      See Also:
        Constant Field Values

    - #### DISP_SAW_W

          private static final int DISP_SAW_W

      See Also:
        Constant Field Values

    - #### FWV_OCC_LABEL

          private static final int FWV_OCC_LABEL

      See Also:
        Constant Field Values

    - #### FWV_OCC_SEQ_ID

          private static final int FWV_OCC_SEQ_ID

      See Also:
        Constant Field Values

    - #### FWV_OCC_COS

          private static final int FWV_OCC_COS

      See Also:
        Constant Field Values

    - #### FWV_OCC_SIN

          private static final int FWV_OCC_SIN

      See Also:
        Constant Field Values

    - #### FWV_OCC_MODULUS

          private static final int FWV_OCC_MODULUS

      See Also:
        Constant Field Values

    - #### FWV_OCC_PHASE

          private static final int FWV_OCC_PHASE

      See Also:
        Constant Field Values

    - #### OCC_SPECIAL_LABEL

          private static final int OCC_SPECIAL_LABEL

      See Also:
        Constant Field Values

    - #### OCC_CRENEL_C

          private static final int OCC_CRENEL_C

      See Also:
        Constant Field Values

    - #### OCC_CRENEL_W

          private static final int OCC_CRENEL_W

      See Also:
        Constant Field Values

    - #### FWV_U_LABEL

          private static final int FWV_U_LABEL

      See Also:
        Constant Field Values

    - #### FWV_U_TENS

          private static final int FWV_U_TENS

      See Also:
        Constant Field Values

    - #### FWV_U_SEQ_ID

          private static final int FWV_U_SEQ_ID

      See Also:
        Constant Field Values

    - #### FWV_U_COS

          private static final int FWV_U_COS

      See Also:
        Constant Field Values

    - #### FWV_U_SIN

          private static final int FWV_U_SIN

      See Also:
        Constant Field Values

    - #### FWV_U_MODULUS

          private static final int FWV_U_MODULUS

      See Also:
        Constant Field Values

    - #### FWV_U_PHASE

          private static final int FWV_U_PHASE

      See Also:
        Constant Field Values

    - #### FD_ID

          private static final int FD_ID

      See Also:
        Constant Field Values

    - #### FO_ID

          private static final int FO_ID

      See Also:
        Constant Field Values

    - #### FU_ID

          private static final int FU_ID

      See Also:
        Constant Field Values

    - #### FDP_ID

          private static final int FDP_ID

      See Also:
        Constant Field Values

    - #### FOP_ID

          private static final int FOP_ID

      See Also:
        Constant Field Values

    - #### FUP_ID

          private static final int FUP_ID

      See Also:
        Constant Field Values

    - #### JANA_OCC_ABS_LABEL

          private static final int JANA_OCC_ABS_LABEL

      See Also:
        Constant Field Values

    - #### JANA_OCC_ABS_O_0

          private static final int JANA_OCC_ABS_O_0

      See Also:
        Constant Field Values

    - #### FWV_SPIN_LABEL

          private static final int FWV_SPIN_LABEL

      See Also:
        Constant Field Values

    - #### FWV_SPIN_AXIS

          private static final int FWV_SPIN_AXIS

      See Also:
        Constant Field Values

    - #### FWV_SPIN_SEQ_ID

          private static final int FWV_SPIN_SEQ_ID

      See Also:
        Constant Field Values

    - #### FWV_SPIN_COS

          private static final int FWV_SPIN_COS

      See Also:
        Constant Field Values

    - #### FWV_SPIN_SIN

          private static final int FWV_SPIN_SIN

      See Also:
        Constant Field Values

    - #### FWV_SPIN_MODULUS

          private static final int FWV_SPIN_MODULUS

      See Also:
        Constant Field Values

    - #### FWV_SPIN_PHASE

          private static final int FWV_SPIN_PHASE

      See Also:
        Constant Field Values

    - #### SPIN_SPEC_LABEL

          private static final int SPIN_SPEC_LABEL

      See Also:
        Constant Field Values

    - #### SPIN_SAW_AX

          private static final int SPIN_SAW_AX

      See Also:
        Constant Field Values

    - #### SPIN_SAW_AY

          private static final int SPIN_SAW_AY

      See Also:
        Constant Field Values

    - #### SPIN_SAW_AZ

          private static final int SPIN_SAW_AZ

      See Also:
        Constant Field Values

    - #### SPIN_SAW_C

          private static final int SPIN_SAW_C

      See Also:
        Constant Field Values

    - #### SPIN_SAW_W

          private static final int SPIN_SAW_W

      See Also:
        Constant Field Values

    - #### LEG_DISP_LABEL

          private static final int LEG_DISP_LABEL

      See Also:
        Constant Field Values

    - #### LEG_DISP_AXIS

          private static final int LEG_DISP_AXIS

      See Also:
        Constant Field Values

    - #### LEG_DISP_ORDER

          private static final int LEG_DISP_ORDER

      See Also:
        Constant Field Values

    - #### LEG_DISP_COEF

          private static final int LEG_DISP_COEF

      See Also:
        Constant Field Values

    - #### LEG_U_LABEL

          private static final int LEG_U_LABEL

      See Also:
        Constant Field Values

    - #### LEG_U_TENS

          private static final int LEG_U_TENS

      See Also:
        Constant Field Values

    - #### LEG_U_ORDER

          private static final int LEG_U_ORDER

      See Also:
        Constant Field Values

    - #### LEG_U_COEF

          private static final int LEG_U_COEF

      See Also:
        Constant Field Values

    - #### LEG_OCC_LABEL

          private static final int LEG_OCC_LABEL

      See Also:
        Constant Field Values

    - #### LEG_OCC_ORDER

          private static final int LEG_OCC_ORDER

      See Also:
        Constant Field Values

    - #### LEG_OCC_COEF

          private static final int LEG_OCC_COEF

      See Also:
        Constant Field Values

    - #### DEPR_FD_COS

          private static final int DEPR_FD_COS

      See Also:
        Constant Field Values

    - #### DEPR_FD_SIN

          private static final int DEPR_FD_SIN

      See Also:
        Constant Field Values

    - #### DEPR_FO_COS

          private static final int DEPR_FO_COS

      See Also:
        Constant Field Values

    - #### DEPR_FO_SIN

          private static final int DEPR_FO_SIN

      See Also:
        Constant Field Values

    - #### DEPR_FU_COS

          private static final int DEPR_FU_COS

      See Also:
        Constant Field Values

    - #### DEPR_FU_SIN

          private static final int DEPR_FU_SIN

      See Also:
        Constant Field Values

    - #### modulationFields

          private static final java.lang.String[] modulationFields

    - #### NONE

          private static final int NONE

      See Also:
        Constant Field Values

    - #### comSSMat

          private javajs.util.M3 comSSMat

  - ### Constructor Detail

    - #### MSCifParser

          public MSCifParser()

  - ### Method Detail

    - #### processEntry

          public void processEntry()
                            throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### processLoopBlock

          public int processLoopBlock()
                               throws java.lang.Exception

      creates entries in htModulation with a key of the form: type_id_axis;atomLabel@model where type = W|F|D|O (wave vector, Fourier index, displacement, occupancy); id = 1|2|3|0|S (Fourier index, Crenel(0), sawtooth); axis (optional) = 0|x|y|z (0 indicates irrelevant -- occupancy); and ;atomLabel is only for D and O.
      Returns:
        1:handled; -1: skip; 0: unrelated
      Throws:
        `java.lang.Exception`

    - #### addMod

          private void addMod(java.lang.String id,
                              java.lang.String fid,
                              double[] params)

    - #### processSubsystemLoopBlock

          private int processSubsystemLoopBlock()
                                         throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getSparseMatrix

          private javajs.util.Matrix getSparseMatrix(CifReader cr,
                                                     java.lang.String term,
                                                     int i,
                                                     int dim)

    - #### fieldProperty

          private int fieldProperty(CifReader cr,
                                    int i)