Package org.jmol.adapter.readers.cif
Class MSRdr
java.lang.Object
org.jmol.adapter.readers.cif.MSRdr
- All Implemented Interfaces:
MSInterface
- Direct Known Subclasses:
MSCifParser
generalized modulated structure reader class for CIF and Jana
-- includes Fourier, Crenel, Sawtooth, Legendre; displacement, occupancy, and Uij
-- handles up to 6 modulation wave vectors
-- commensurate and incommensurate, including composites
-- not handling _cell_commen_t_section_1
- Author:
- Bob Hanson hansonr@stolaf.edu
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
protected AtomSetCollectionReader
protected boolean
protected boolean
protected String
protected int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
addLatticeVector
(Lst<float[]> lattvecs, String data) void
addModulation
(Map<String, double[]> map, String id, double[] pt, int iModel) Types include O (occupation) D (displacement) U (anisotropy) M (magnetic moment) _coefs_ indicates this is a wave descriptionvoid
addSubsystem
(String code, Matrix w) void
Create a script that will run to turn modulation on and to display only atoms with modulated occupancy >= 0.5.getAtomSymmetry
(Atom a, XtalSymmetry.FileSymmetry defaultSymmetry) When applying symmetry, this method allows us to use a set of symmetry operators unique to this particular atom -- or in this case, to its subsystem.double[]
Modulation data keys are keyed by model number as well as type using [at]n, where n is the model number, starting with 0.char
getModType
(String key) double[]
getSymmetryFromCode
(String code) int
initialize
(AtomSetCollectionReader r, int modDim) void
setMinMax0
(P3 minXYZ, P3 maxXYZ) protected void
setModDim
(int ndim) void
setModulation
(boolean isPost, XtalSymmetry.FileSymmetry symmetry) Both the Jana reader and the CIF reader will call this to set the modulation for a given model.
-
Field Details
-
cr
-
modDim
protected int modDim -
modAxes
-
modAverage
protected boolean modAverage -
isCommensurate
protected boolean isCommensurate -
commensurateSection1
protected int commensurateSection1
-
-
Constructor Details
-
MSRdr
public MSRdr()
-
-
Method Details
-
initialize
- Specified by:
initialize
in interfaceMSInterface
- Throws:
Exception
-
setModDim
protected void setModDim(int ndim) -
addModulation
Types include O (occupation) D (displacement) U (anisotropy) M (magnetic moment) _coefs_ indicates this is a wave description- Specified by:
addModulation
in interfaceMSInterface
- Parameters:
map
-id
-pt
-iModel
-
-
setModulation
Both the Jana reader and the CIF reader will call this to set the modulation for a given model.- Specified by:
setModulation
in interfaceMSInterface
- Throws:
Exception
-
finalizeModulation
public void finalizeModulation()Create a script that will run to turn modulation on and to display only atoms with modulated occupancy >= 0.5.- Specified by:
finalizeModulation
in interfaceMSInterface
-
getMod
Modulation data keys are keyed by model number as well as type using [at]n, where n is the model number, starting with 0.- Specified by:
getMod
in interfaceMSInterface
- Parameters:
key
-- Returns:
- modulation data
-
getModulationMap
- Specified by:
getModulationMap
in interfaceMSInterface
-
getQCoefs
- Specified by:
getQCoefs
in interfaceMSInterface
-
getModType
- Specified by:
getModType
in interfaceMSInterface
-
addSubsystem
- Specified by:
addSubsystem
in interfaceMSInterface
-
getAtomSymmetry
When applying symmetry, this method allows us to use a set of symmetry operators unique to this particular atom -- or in this case, to its subsystem.- Specified by:
getAtomSymmetry
in interfaceMSInterface
-
setMinMax0
- Specified by:
setMinMax0
in interfaceMSInterface
-
getSymmetryFromCode
- Specified by:
getSymmetryFromCode
in interfaceMSInterface
-
addLatticeVector
- Specified by:
addLatticeVector
in interfaceMSInterface
- Throws:
Exception
-