public class XtalSymmetry
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private AtomSetCollectionReader |
acr |
private boolean |
applySymmetryToBonds |
private AtomSetCollection |
asc |
private SymmetryInterface |
baseSymmetry |
private float[] |
baseUnitCell |
private int |
bondCount0 |
private boolean |
centroidPacked |
private boolean |
checkAll |
private boolean |
doCentroidUnitCell |
private boolean |
doNormalize |
private boolean |
doPackUnitCell |
private int |
dtype |
private java.lang.String |
filterSymop |
private int |
firstSymmetryAtom |
private int[] |
latticeCells |
private boolean |
latticeOnly |
private int |
latticeOp |
private javajs.util.M4 |
matSupercell |
private javajs.util.P3i |
maxXYZ |
private javajs.util.P3 |
maxXYZ0 |
private javajs.util.P3i |
minXYZ |
private javajs.util.P3 |
minXYZ0 |
private javajs.util.M3 |
mTemp |
private int |
noSymmetryCount |
private float[] |
notionalUnitCell |
private int |
nVib |
private float |
packingError |
private static int |
PARTICLE_CHAIN |
private static int |
PARTICLE_NONE |
private static int |
PARTICLE_SYMOP |
private javajs.util.P3 |
ptOffset |
private javajs.util.P3 |
ptSupercell |
private javajs.util.P3 |
ptTemp |
private float |
rmaxx |
private float |
rmaxy |
private float |
rmaxz |
private float |
rminx |
private float |
rminy |
private float |
rminz |
SymmetryInterface |
symmetry |
private float |
symmetryRange |
private javajs.util.Lst<float[]> |
trajectoryUnitCells |
private javajs.util.P3 |
unitCellOffset |
private javajs.util.V3[] |
unitCellTranslations |
Constructor and Description |
---|
XtalSymmetry() |
Modifier and Type | Method and Description |
---|---|
Tensor |
addRotatedTensor(Atom a,
Tensor t,
int iSym,
boolean reset,
SymmetryInterface symmetry) |
(package private) int |
addSpaceGroupOperation(java.lang.String xyz,
boolean andSetLattice) |
private void |
applyAllSymmetry(MSInterface ms,
BS bsAtoms) |
void |
applySymmetryBio(java.util.Map<java.lang.String,java.lang.Object> thisBiomolecule,
float[] notionalUnitCell,
boolean applySymmetryToBonds,
java.lang.String filter) |
(package private) SymmetryInterface |
applySymmetryFromReader(SymmetryInterface readerSymmetry) |
private void |
applySymmetryLattice(MSInterface ms,
java.lang.String supercell) |
private void |
duplicateAtomProperties(int nTimes) |
private void |
finalizeSymmetry(SymmetryInterface symmetry) |
void |
finalizeUnitCell(javajs.util.P3 ptSupercell)
Ensure that ModelLoader sets up the supercell unit cell.
|
SymmetryInterface |
getBaseSymmetry()
Get the symmetry that was in place prior to any supercell business
|
(package private) SymmetryInterface |
getSymmetry() |
private boolean |
isInSymmetryRange(javajs.util.P3 c) |
boolean |
isWithinCell(int dtype,
javajs.util.P3 pt,
float minX,
float maxX,
float minY,
float maxY,
float minZ,
float maxZ,
float slop) |
private void |
reset() |
void |
rotateToSuperCell(javajs.util.V3 t) |
void |
scaleFractionalVibs()
magCIF files have moments expressed as Bohr magnetons along
the cryrstallographic axes.
|
XtalSymmetry |
set(AtomSetCollectionReader reader) |
private void |
setAtomSetSpaceGroupName(java.lang.String spaceGroupName) |
private void |
setLatticeCells() |
void |
setLatticeParameter(int latt) |
private void |
setNotionalUnitCell(float[] info,
javajs.util.M3 matUnitCellOrientation,
javajs.util.P3 unitCellOffset) |
int |
setSpinVectors() |
void |
setSupercellFromPoint(javajs.util.P3 pt) |
(package private) SymmetryInterface |
setSymmetry(SymmetryInterface symmetry) |
private void |
setSymmetryMinMax(javajs.util.P3 c) |
private void |
setSymmetryOps() |
private void |
setSymmetryRange(float factor) |
(package private) void |
setTensors() |
void |
setTimeReversal(int op,
int timeRev) |
private int |
symmetryAddAtoms(int transX,
int transY,
int transZ,
int baseCount,
int pt,
int iCellOpPt,
javajs.util.P3[] cartesians,
MSInterface ms) |
private AtomSetCollection asc
private AtomSetCollectionReader acr
public SymmetryInterface symmetry
private float[] notionalUnitCell
private float[] baseUnitCell
private float symmetryRange
private boolean doCentroidUnitCell
private boolean centroidPacked
private float packingError
private java.lang.String filterSymop
private boolean applySymmetryToBonds
private int[] latticeCells
private javajs.util.P3 ptSupercell
private javajs.util.M4 matSupercell
private javajs.util.Lst<float[]> trajectoryUnitCells
private boolean doNormalize
private boolean doPackUnitCell
private SymmetryInterface baseSymmetry
private float rminx
private float rminy
private float rminz
private float rmaxx
private float rmaxy
private float rmaxz
private final javajs.util.P3 ptOffset
private javajs.util.P3 unitCellOffset
private javajs.util.P3i minXYZ
private javajs.util.P3i maxXYZ
private javajs.util.P3 minXYZ0
private javajs.util.P3 maxXYZ0
private boolean checkAll
private int bondCount0
private int dtype
private javajs.util.V3[] unitCellTranslations
private int latticeOp
private boolean latticeOnly
private int noSymmetryCount
private int firstSymmetryAtom
private static final int PARTICLE_NONE
private static final int PARTICLE_CHAIN
private static final int PARTICLE_SYMOP
private javajs.util.P3 ptTemp
private javajs.util.M3 mTemp
private int nVib
public XtalSymmetry set(AtomSetCollectionReader reader)
SymmetryInterface getSymmetry()
SymmetryInterface setSymmetry(SymmetryInterface symmetry)
private void setSymmetryRange(float factor)
private void setLatticeCells()
public void setSupercellFromPoint(javajs.util.P3 pt)
private void setNotionalUnitCell(float[] info, javajs.util.M3 matUnitCellOrientation, javajs.util.P3 unitCellOffset)
int addSpaceGroupOperation(java.lang.String xyz, boolean andSetLattice)
public void setLatticeParameter(int latt)
SymmetryInterface applySymmetryFromReader(SymmetryInterface readerSymmetry) throws java.lang.Exception
java.lang.Exception
private void setAtomSetSpaceGroupName(java.lang.String spaceGroupName)
private void applySymmetryLattice(MSInterface ms, java.lang.String supercell) throws java.lang.Exception
java.lang.Exception
private void setSymmetryMinMax(javajs.util.P3 c)
private boolean isInSymmetryRange(javajs.util.P3 c)
public boolean isWithinCell(int dtype, javajs.util.P3 pt, float minX, float maxX, float minY, float maxY, float minZ, float maxZ, float slop)
private void applyAllSymmetry(MSInterface ms, BS bsAtoms) throws java.lang.Exception
ms
- modulated structure interfacebsAtoms
- relating to supercellsjava.lang.Exception
private int symmetryAddAtoms(int transX, int transY, int transZ, int baseCount, int pt, int iCellOpPt, javajs.util.P3[] cartesians, MSInterface ms) throws java.lang.Exception
java.lang.Exception
private void duplicateAtomProperties(int nTimes)
private void finalizeSymmetry(SymmetryInterface symmetry)
private void setSymmetryOps()
public void applySymmetryBio(java.util.Map<java.lang.String,java.lang.Object> thisBiomolecule, float[] notionalUnitCell, boolean applySymmetryToBonds, java.lang.String filter)
private void reset()
public Tensor addRotatedTensor(Atom a, Tensor t, int iSym, boolean reset, SymmetryInterface symmetry)
void setTensors()
public void setTimeReversal(int op, int timeRev)
public void rotateToSuperCell(javajs.util.V3 t)
public int setSpinVectors()
public void scaleFractionalVibs()
public SymmetryInterface getBaseSymmetry()
public void finalizeUnitCell(javajs.util.P3 ptSupercell)
ptSupercell
-