public abstract class Train extends Entity implements java.util.Comparator<SimulatorTimeTableEntry>
Modifier and Type | Field and Description |
---|---|
double |
accParam
acceleration in (unit ?)
|
double |
bookedSpeed
BS
|
double |
deceParam
deceleration in (unit ?)
|
double |
departTime
departTime in (unit ?)
|
int |
direction |
int |
endLoopNo
endLoopNo
|
double |
length |
double |
maximumPossibleSpeed
maximumPossibleSpeed
|
int |
numberofhalts |
java.lang.String |
operatingDays |
int |
priority |
java.util.ArrayList<ReferenceTableEntry> |
refTables
refTables
|
boolean |
scheduled |
int |
startLoopNo
startLoopNo
|
double |
startTime
startTime in (unit ?)
|
int |
startTimeInput |
java.util.Stack<StationToStationScheduler> |
stationToStationSchedulerStack |
static java.util.Comparator<Train> |
trainComparator |
java.lang.String |
trainId |
int |
trainNo
trainNo stores train number
|
BLOCK_ENTITY, LINK_ENTITY, LOOP_ENTITY
Constructor and Description |
---|
Train() |
Train(int priority,
double startTime,
double length,
double acceleration,
double deceleration) |
Train(int a,
double b,
double c,
double d,
double e,
int prior) |
Train(int dir,
int prior,
double len) |
Train(int f,
int a,
double c,
double d,
double e) |
Train(Train simulatorTrain) |
Modifier and Type | Method and Description |
---|---|
int |
compare(SimulatorTimeTableEntry a,
SimulatorTimeTableEntry b) |
void |
copyTimeTablesFromTrain(Train simulatorTrain,
int simulationTimeInstance,
SimulationInstance simulationInstance) |
double |
getAcceleration() |
double |
getAccParam() |
double |
getActionableTime() |
java.util.ArrayList<Block> |
getBlocksByMaxTimeTaken(SimulationInstance simulationInstance) |
BlockList |
getBlocksTraversedByTrain(SimulationInstance simulationInstance) |
double |
getBookedSpeed() |
Loop |
getCurrentLoop() |
double |
getDeceleration() |
double |
getDeceParam() |
double |
getDepartTime() |
int |
getDestinationLoopNumber() |
int |
getDirection() |
java.lang.String |
getDirectionString() |
java.awt.Color |
getDrawColour() |
int |
getEndLoopNo() |
java.lang.String |
getEndStation() |
int |
getLastLoopNo()
Get the loop number of the last loop to be traversed by the train.
|
double |
getLength() |
double |
getMaximumPossibleSpeed() |
Loop |
getNextReferenceLoop() |
Loop |
getOriginLoop() |
int |
getPreviousRakeLinkNo() |
Train |
getPreviousRakeLinkTrain() |
int |
getPriority() |
int |
getRakeLinkNo() |
Train |
getRakeLinkTrain() |
ReferenceTableEntry |
getRefTabEntryFromStationName(java.lang.String stationName)
Get reference table entry from the station name.
|
java.util.ArrayList<ReferenceTableEntry> |
getRefTables() |
int |
getSignalFailCounter() |
int[] |
getSignalFailedBlocks() |
int |
getStartLoopNo() |
double |
getStartTime() |
java.util.ArrayList<SimulatorTimeTableEntry> |
getTimeTables() |
java.util.ArrayList<SimulatorTimeTableEntry> |
getTimeTablesHaltsOnly(SimulationInstance simulationInstance) |
int |
getTrainNo() |
int |
getVelocity() |
VelocityProfile |
getVelocityProfileFromMilepost(double milePost) |
java.util.ArrayList<VelocityProfile> |
getVelocityProfileList() |
boolean |
hasError() |
boolean |
hasReachedDestination() |
boolean |
hasScheduledHalt(Loop loop,
SimulationInstance simulationInstance)
Determine if the train has a scheduled halt at the loop
|
boolean |
isScheduled() |
boolean |
isScheduledTillEnd() |
boolean |
isStartLoop(Block block) |
boolean |
isSuburban() |
void |
printAttributes() |
void |
printDiscontinuity() |
void |
printPathBlockOccupancies() |
void |
printTimeTable() |
void |
printVelocityProfileForTrain() |
static TrainList |
readTrain(SimulationInstance simulationInstance,
boolean hasNoGUI) |
void |
setAcceleration(double acceleration) |
void |
setAccParam(double accParam) |
void |
setBookedSpeed(double bookedSpeed) |
void |
setDeceleration(double deceleration) |
void |
setDeceParam(double deceParam) |
void |
setDepartTime(double departTime) |
void |
setDirection(int direction) |
void |
setDrawColour(java.awt.Color drawColour) |
void |
setEndLoopNo(int endLoopNo) |
void |
setEndStation(java.lang.String endStation) |
void |
setLength(double length) |
void |
setMaximumPossibleSpeed(double maximumPossibleSpeed) |
void |
setPreviousRakeLinkNo(int trainNo2) |
void |
setPreviousRakeLinkTrain(Train previousRakeLinkTrain) |
void |
setPriority(int priority) |
void |
setRakeId(java.lang.String rakeId) |
void |
setRakeLinkNo(int rakeLinkNo) |
void |
setRakeLinkTrain(Train rakeLinkTrain) |
void |
setRefTables(java.util.ArrayList<ReferenceTableEntry> refTables) |
void |
setScheduled(boolean scheduled) |
void |
setScheduledTillEnd(boolean scheduledTillEnd) |
void |
setSignalFailCounter(int signalFailCounter) |
void |
setSignalFailedBlocks(int[] signalFailedBlocks) |
void |
setStartLoopNo(int startLoopNo) |
void |
setStartTime(double startTime) |
void |
setTimesForVelocityProfiles() |
void |
setTimeTables(java.util.ArrayList<SimulatorTimeTableEntry> timeTables) |
void |
setTrainNo(int trainNo) |
abstract void |
setTrainProperties(java.io.StreamTokenizer trainStreamTokenizer,
int nTimeTableEntries) |
void |
setVelocity(int velocity) |
double |
totalTime() |
double |
travelTime() |
getEntityType, isBlock, isLink, isLoop, setEntityType
public int startTimeInput
public java.lang.String operatingDays
public java.lang.String trainId
public int direction
public int numberofhalts
public double length
public int priority
public boolean scheduled
public double maximumPossibleSpeed
public double bookedSpeed
public double accParam
public double deceParam
public int trainNo
public double startTime
public double departTime
public int startLoopNo
public int endLoopNo
public java.util.ArrayList<ReferenceTableEntry> refTables
public java.util.Stack<StationToStationScheduler> stationToStationSchedulerStack
public static java.util.Comparator<Train> trainComparator
public Train(int dir, int prior, double len)
prior
- : priority detailslen
- : stores length in (unit ?)public Train(int a, double b, double c, double d, double e, int prior)
a
- : stores directionb
- : start time in (unit ?)c
- : Length in (unit ?)d
- : stores acceleration in (unit ?)e
- : stores decelaration in (unit ?)prior
- : priority detailspublic Train(int priority, double startTime, double length, double acceleration, double deceleration)
public Train(int f, int a, double c, double d, double e)
f
- : stores directiona
- : priority detailsc
- : length in (unit ?)d
- : Acceleration in (unit ?)e
- : Decelaration in (unit ?)public Train()
public Train(Train simulatorTrain)
public void setLength(double length)
public double getLength()
public void setAcceleration(double acceleration)
public double getAcceleration()
public void setDeceleration(double deceleration)
public double getDeceleration()
public void setVelocity(int velocity)
public int getVelocity()
public void setDirection(int direction)
public int getDirection()
public void setPriority(int priority)
public int getPriority()
public void printAttributes()
public java.lang.String getDirectionString()
public void setScheduled(boolean scheduled)
public boolean isScheduled()
public abstract void setTrainProperties(java.io.StreamTokenizer trainStreamTokenizer, int nTimeTableEntries) throws java.io.IOException
java.io.IOException
public double totalTime()
public double travelTime()
public void printTimeTable()
public VelocityProfile getVelocityProfileFromMilepost(double milePost)
public static TrainList readTrain(SimulationInstance simulationInstance, boolean hasNoGUI) throws java.io.IOException, SimulatorException
simulationInstance
- hasNoGUI
- java.io.IOException
SimulatorException
public void setRakeId(java.lang.String rakeId)
public void setRakeLinkNo(int rakeLinkNo)
public int getDestinationLoopNumber()
public ReferenceTableEntry getRefTabEntryFromStationName(java.lang.String stationName)
stationName
- public int getLastLoopNo()
public boolean hasScheduledHalt(Loop loop, SimulationInstance simulationInstance)
loop
- simulationInstance
- public void printVelocityProfileForTrain()
public java.util.ArrayList<VelocityProfile> getVelocityProfileList()
ArrayList
of VelocityProfile
in the order which
the train traverses.public void printDiscontinuity()
public boolean isSuburban()
public double getMaximumPossibleSpeed()
public void setMaximumPossibleSpeed(double maximumPossibleSpeed)
public double getBookedSpeed()
public void setBookedSpeed(double bookedSpeed)
public double getAccParam()
public void setAccParam(double accParam)
public double getDeceParam()
public void setDeceParam(double deceParam)
public int getTrainNo()
public void setTrainNo(int trainNo)
public double getStartTime()
public void setStartTime(double startTime)
public double getDepartTime()
public void setDepartTime(double departTime)
public int getStartLoopNo()
public void setStartLoopNo(int startLoopNo)
public int getEndLoopNo()
public void setEndLoopNo(int endLoopNo)
public java.lang.String getEndStation()
public void setEndStation(java.lang.String endStation)
public java.awt.Color getDrawColour()
public void setDrawColour(java.awt.Color drawColour)
public java.util.ArrayList<SimulatorTimeTableEntry> getTimeTables()
public void setTimeTables(java.util.ArrayList<SimulatorTimeTableEntry> timeTables)
public java.util.ArrayList<ReferenceTableEntry> getRefTables()
public void setRefTables(java.util.ArrayList<ReferenceTableEntry> refTables)
public int[] getSignalFailedBlocks()
public void setSignalFailedBlocks(int[] signalFailedBlocks)
public int getSignalFailCounter()
public void setSignalFailCounter(int signalFailCounter)
public void printPathBlockOccupancies()
public void copyTimeTablesFromTrain(Train simulatorTrain, int simulationTimeInstance, SimulationInstance simulationInstance)
public void setTimesForVelocityProfiles()
public BlockList getBlocksTraversedByTrain(SimulationInstance simulationInstance)
public java.util.ArrayList<Block> getBlocksByMaxTimeTaken(SimulationInstance simulationInstance)
public java.util.ArrayList<SimulatorTimeTableEntry> getTimeTablesHaltsOnly(SimulationInstance simulationInstance)
public boolean isStartLoop(Block block)
public int compare(SimulatorTimeTableEntry a, SimulatorTimeTableEntry b)
compare
in interface java.util.Comparator<SimulatorTimeTableEntry>
public boolean isScheduledTillEnd()
public void setScheduledTillEnd(boolean scheduledTillEnd)
public double getActionableTime()
public Loop getNextReferenceLoop()
public Loop getOriginLoop()
public boolean hasReachedDestination()
public int getRakeLinkNo()
public int getPreviousRakeLinkNo()
public void setPreviousRakeLinkNo(int trainNo2)
public Train getRakeLinkTrain()
public void setRakeLinkTrain(Train rakeLinkTrain)
public Train getPreviousRakeLinkTrain()
public void setPreviousRakeLinkTrain(Train previousRakeLinkTrain)
public Loop getCurrentLoop()