public class CrossingCylinderSubstrate extends CylinderSubstrate
cylinder
a, border, factor, intersectsBoundary, spatialOptInitialised, voxToObjects
Constructor and Description |
---|
CrossingCylinderSubstrate(SimulationParams simParams)
constructor for default crossing angle.
|
Modifier and Type | Method and Description |
---|---|
boolean |
crossesMembrane(Walker walker,
double[] rawOffset,
double[] rawStep,
double[] normal,
double[] d,
boolean skipCurrent,
double origLength,
boolean[] in,
double[] p)
checks if a walker's step will take it across a membrane or not.
|
double[] |
getInvRotMat()
get the inverse rotation matrix
|
double |
getPeakCoord()
returns the peak coordinate (the place where the
spike sits on each axis for delta-peaked initial
conditions)
|
double[] |
getRotMat()
get the rotation matrix
|
void |
getSubstrateCoords(double[] walkerPos,
double[] offset,
double[] newPos)
override the get substrate coords method from substrate
|
double[] |
getSubstrateSize()
return the size of the unit cell
|
double[] |
mapStepIntoSubstrate(Walker walker,
double[] offset,
double[] step)
overrides the default step mapper to take account of the rotated patch
in the coordinate system.
|
double[] |
unmapStepFromSubstrate(double[] subsCoords,
double[] offset,
double[] step)
if the step has been rotated, this undoes the rotation
|
getCylinders, init, intracellular, main, setSubstrateDims
amend, getBottomLeft, getDiffusivityAt, getLogMagnetisationChange, getN, getSubsObj, getSubVoxelIndex, getUpperRight, initBoundaryIntersectionArrays, initCandidates, initialiseSpatialOptimisation, moreCandidates, nextCandidate, testAmendment, testStepAmendment, voxelContains
public CrossingCylinderSubstrate(SimulationParams simParams)
R
- cylinder separationr
- cylinder radiuspublic void getSubstrateCoords(double[] walkerPos, double[] offset, double[] newPos)
getSubstrateCoords
in class Substrate
public double[] mapStepIntoSubstrate(Walker walker, double[] offset, double[] step)
mapStepIntoSubstrate
in class Substrate
walker
- the walkeroffset
- displacement from current position from which step is takenstep
- the step we want to makepublic double[] unmapStepFromSubstrate(double[] subsCoords, double[] offset, double[] step)
unmapStepFromSubstrate
in class Substrate
subsCoords
- current spin coords in substrate frameoffset
- offset from current positionstep
- vector to un-rotatepublic boolean crossesMembrane(Walker walker, double[] rawOffset, double[] rawStep, double[] normal, double[] d, boolean skipCurrent, double origLength, boolean[] in, double[] p)
crossesMembrane
in class CylinderSubstrate
walker
- the walker to checkoffset
- offset from current walker position for beginning of stepstep
- the step being madenormal
- space to store the normal if a barrier is crossedd
- space to store barrier distance from origin dotted with normalskipCurrent
- flag indicating we're sitting on a barrier and should
ignore the closest one.originLength
- the original length of the step vector;public double getPeakCoord()
getPeakCoord
in class CylinderSubstrate
public double[] getSubstrateSize()
getSubstrateSize
in class CylinderSubstrate
public double[] getRotMat()
public double[] getInvRotMat()