coreEngine

## Class Seed

- java.lang.Object
- - coreEngine.Seed

- All Implemented Interfaces:
    java.io.Serializable

      public class Seed
      extends java.lang.Object
      implements java.io.Serializable

  This class contains all input and output data, setters, getters, and analysis functions of a seed. This class should be the only interface of the coreEngine package.
  Author:
    Shu Liu
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `private class` | `Seed.ScenATDM` This simple class is used to find thread

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private ATDMDatabase` | `atdmDatabase` ATDM database (strategies and plans)
    `private java.util.ArrayList<java.util.HashMap<java.lang.Integer,ATDMScenario[]>>` | `ATDMSets` ATDM Sets, each set contains a HashMap of related scenarios
    `private int` | `bufferATDM` ATDM set index of the currently buffered result (-1 for null)
    `private int` | `bufferScen` Scenario index of the currently buffered result (-1 for null)
    `float[]` | `calibCDP`
    `float[]` | `calibJD`
    `private static int` | `CHANGE_ATDM` ATDM level change mark
    `private static int` | `CHANGE_RESET_TO_INPUT` Reset to input mark
    `private static int` | `CHANGE_SCEN` Scenario level change mark
    `private static int` | `CHANGE_SEED` Seed level change mark
    `private java.util.HashMap<java.lang.String,java.lang.Integer>` | `defaultSegCapacityMap`
    `private java.util.HashMap<java.lang.String,java.lang.Object>` | `defaultsMap`
    `private boolean` | `forceOversat` Indicates whether the oversaturated module is forced to be used in all periods.
    `java.lang.String` | `fuzzyRMDebugOutputFileName` File in which to save the debug output for Fuzzy RM
    `private java.util.ArrayList<GPMLSegment>` | `GPSegments` ArrayList of all general purpose segments
    `private int` | `inCapacityDropPercentage` Capacity drop percentage
    `private CETime` | `inEndTime` End time of analysis period
    `private java.lang.String` | `inFileName` Seed file path and name on disk
    `private boolean` | `inFreeFlowSpeedKnown` Whether free flow speed is known
    `float` | `inGlobalETDefault` Global Input Truck - Passenger Car Equivalent
    `private float` | `inGPOccupancy` Average vehicle occupancy in general purpose lanes (passenger / vehicle)
    `private float` | `inJamDensity` Facility wide jam density, pc/mi/ln
    `private boolean` | `inManagedLaneUsed` Whether managed lane is used;
    `private float` | `inMLOccupancy` Average vehicle occupancy in managed lanes (passenger / vehicle)
    `private int` | `inNumPeriod` Number of periods
    `private int` | `inNumScen` Number of RL scenarios (NOT including default scenario)
    `private java.lang.String` | `inProjectName` Project name
    `private CETime` | `inStartTime` Start time of analysis period
    `(package private) int` | `inUrbanRuralType` Seed urban-rural type
    `boolean` | `isCalib`
    `private static CETime` | `LENGTH_OF_EACH_PERIOD` Length of each analysis period, default 15min
    `private java.util.ArrayList<GPMLSegment>` | `MLSegments` ArrayList of all managed lane segments
    `private boolean` | `needMemory` Whether locate memory is required
    `private static int` | `NUM_STEPS` Number of steps per period in over saturated
    `java.lang.String` | `pdfname1`
    `java.lang.String` | `pdfname2`
    `private java.util.HashMap<java.lang.String,float[]>` | `pMLReportDensityFactor` For calculation only
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutActualTravelTime` Summary output, CEConst.IDS_P_ACTUAL_TIME:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutDensityTotal_pc` Summary output, CEConst.IDS_P_TOTAL_DENSITY_PC:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutDensityTotal_veh` Summary output, CEConst.IDS_P_TOTAL_DENSITY_VEH:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutDenyVeh` Summary output, CEConst.IDS_P_TOTAL_DENY_QUEUE_VEH:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutFreeFlowTravelTime` Summary output, CEConst.IDS_P_FFS_TIME:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMainlineDelay` Summary output, CEConst.IDS_P_ML_DELAY:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMainlineQueueLengthFt` Summary output, CEConst.IDS_P_TOTAL_ML_QUEUE_LENGTH_FT:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMaxDC` Summary output, CEConst.IDS_P_MAX_DC:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMaxVC` Summary output, CEConst.IDS_P_MAX_VC:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLActualTravelTime` Summary output, CEConst.IDS_ML_P_ACTUAL_TIME:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLDensityTotal_pc` Summary output, CEConst.IDS_ML_P_TOTAL_DENSITY_PC:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLDensityTotal_veh` Summary output, CEConst.IDS_ML_P_TOTAL_DENSITY_VEH:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLDenyLengthFt` Summary output, CEConst.IDS_ML_P_TOTAL_DENY_QUEUE_LENGTH_FT:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLFreeFlowTravelTime` Summary output, CEConst.IDS_ML_P_FFS_TIME:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLMainlineDelay` Summary output, CEConst.IDS_ML_P_ML_DELAY:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLMainlineQueueLengthFt` Summary output, CEConst.IDS_ML_P_TOTAL_ML_QUEUE_LENGTH_FT:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLMaxDC` Summary output, CEConst.IDS_ML_P_MAX_DC:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLMaxVC` Summary output, CEConst.IDS_ML_P_MAX_VC:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLOnQueueLengthFt` Summary output, CEConst.IDS_ML_P_TOTAL_ON_QUEUE_LENGTH_FT:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLOnRampDelay` Summary output, CEConst.IDS_ML_P_ONR_DELAY:
    `private java.util.HashMap<java.lang.String,java.lang.String[]>` | `pOutMLReportLOS` Summary output, CEConst.IDS_ML_P_REPORT_LOS:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLSpaceMeanSpeed` Summary output, CEConst.IDS_ML_P_SPACE_MEAN_SPEED:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLTravelTimeIndex` Summary output, CEConst.IDS_ML_P_TTI:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLVHD` Summary output, CEConst.IDS_ML_P_VHD:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLVHT` Summary output, CEConst.IDS_ML_P_VHT:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLVMTD` Summary output, CEConst.IDS_ML_P_VMTD:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutMLVMTV` Summary output, CEConst.IDS_ML_P_VMTV:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutOnQueueVeh` Summary output, CEConst.IDS_P_TOTAL_ON_QUEUE_LENGTH_FT:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutOnRampDelay` Summary output, CEConst.IDS_P_ONR_DELAY:
    `private java.util.HashMap<java.lang.String,java.lang.String[]>` | `pOutReportLOS` Summary output, CEConst.IDS_P_REPORT_LOS:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutSpaceMeanSpeed` Summary output, CEConst.IDS_P_SPACE_MEAN_SPEED:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutTravelTimeIndex` Summary output, CEConst.IDS_P_TTI:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutVHD` Summary output, CEConst.IDS_P_VHD:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutVHT` Summary output, CEConst.IDS_P_VHT:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutVMTD` Summary output, CEConst.IDS_P_VMTD:
    `private java.util.HashMap<java.lang.String,float[]>` | `pOutVMTV` Summary output, CEConst.IDS_P_VMTV:
    `private java.util.HashMap<java.lang.String,float[]>` | `pReportDensityFactor` For calculation only
    `boolean` | `printDiss`
    `boolean` | `printRM` Debug toggle for Fuzzy RM
    `private RMHelper` | `rampMeteringGP` User defined ramp metering information for general purpose segments
    `private RMHelper` | `rampMeteringML` User defined ramp metering information for managed lanes segments
    `private java.util.ArrayList<CEDate>` | `RL_DayExcluded` Days excluded in reliability analysis
    `private float[][]` | `RL_IncidentCAF_GP` GP Incident CAF.
    `private float[][]` | `RL_IncidentCAF_ML` ML Incident CAF.
    `private float` | `RL_IncidentCrashRatio_GP` GP Incident over crash ratio
    `private float` | `RL_IncidentCrashRatio_ML` ML Incident over crash ratio
    `private float[][]` | `RL_IncidentDAF_GP` GP Incident DAF.
    `private float[][]` | `RL_IncidentDAF_ML` ML Incident DAF.
    `private float[]` | `RL_IncidentDistribution_GP` GP Incident Severity Distribution
    `private float[]` | `RL_IncidentDistribution_ML` ML Incident Severity Distribution
    `private float[][]` | `RL_IncidentDuration_GP` GP Incident duration
    `private float[][]` | `RL_IncidentDuration_ML` ML Incident duration
    `private float[]` | `RL_IncidentFrequency_GP` GP Incident frequency
    `private float[]` | `RL_IncidentFrequency_ML` ML Incident frequency
    `private int[][]` | `RL_IncidentLAF_GP` GP Incident LAF.
    `private int[][]` | `RL_IncidentLAF_ML` ML Incident LAF.
    `private float[][]` | `RL_IncidentSAF_GP` GP Incident SAF.
    `private float[][]` | `RL_IncidentSAF_ML` ML Incident SAF.
    `private java.lang.Long` | `RL_RngSeed` Scenario Generator random number generator
    `private CEDate` | `RL_RRPEndDate` Reliability analysis end date
    `private CEDate` | `RL_RRPStartDate` Reliability analysis start date
    `private java.util.ArrayList<ScenarioInfo>` | `RL_ScenarioInfo` ArrayList which contains all reliability analysis scenario information, include default/empty seed scenario.
    `private Scenario` | `RL_Scenarios_GP` Reliability scenarios for GP, NOT include default/empty seed scenario
    `private Scenario` | `RL_Scenarios_ML` Reliability scenarios for ML, NOT include default/empty seed scenario
    `private CEDate` | `RL_SeedFileDate` Seed file date
    `private float[][]` | `RL_SpecifiedDemand_GP` Specified demand multiplier for GP segments
    `private float[][]` | `RL_SpecifiedDemand_ML` Specified demand multiplier for GP segments
    `private float[]` | `RL_WeatherAverageDuration` Weather event average duration
    `private float[]` | `RL_WeatherCAF` Weather event capacity adjustment factors
    `private float[]` | `RL_WeatherDAF` Weather event demand adjustment factors
    `private java.lang.String` | `RL_WeatherLocation` Weather location
    `private float[][]` | `RL_WeatherProbability` Weather event probability
    `private float[]` | `RL_WeatherSAF` Weather event speed adjustment factors
    `private boolean[]` | `RL_WeekdayUsed` Week day used for reliability analysis
    `private java.util.ArrayList<WorkZone>` | `RL_WorkZones` List of work zones
    `private java.util.TreeMap<java.lang.String,RampMeteringALINEAData>` | `rmALINEA` ALINEA Adaptive Ramp Metering Data
    `private java.util.TreeMap<java.lang.String,RampMeteringFuzzyData>` | `rmFuzzy` Fuzzy Adaptive Ramp Metering Data
    `java.lang.String[]` | `routedPaths` Array of strings giving the routed path of each segment
    `private boolean` | `seedInputModified` Whether global preprocess is required
    `private static long` | `serialVersionUID` serialVersionUID
    `private java.util.HashMap<java.lang.String,float[]>` | `sMLReportDensityFactor` For calculation only
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutActualTravelTime` Summary output, CEConst.IDS_S_ACTUAL_TIME:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutMaxDC` Summary output, CEConst.IDS_S_MAX_DC:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutMaxVC` Summary output, CEConst.IDS_S_MAX_VC:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutMLActualTravelTime` Summary output, CEConst.IDS_ML_S_ACTUAL_TIME:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutMLMaxDC` Summary output, CEConst.IDS_ML_S_MAX_DC:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutMLMaxVC` Summary output, CEConst.IDS_ML_S_MAX_VC:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutMLReportDensity_IA_pc` Summary output, CEConst.IDS_ML_S_REPORT_DENSITY_PC:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutMLSpaceMeanSpeed` Summary output, CEConst.IDS_ML_S_SPACE_MEAN_SPEED:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutMLVHD` Summary output, CEConst.IDS_ML_S_VHD:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutMLVHT` Summary output, CEConst.IDS_ML_S_VHT:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutMLVMTD` Summary output, CEConst.IDS_ML_S_VMTD:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutMLVMTV` Summary output, CEConst.IDS_ML_S_VMTV:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutReportDensity_IA_pc` Summary output, CEConst.IDS_S_REPORT_DENSITY_PC:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutSpaceMeanSpeed` Summary output, CEConst.IDS_S_SPACE_MEAN_SPEED:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutVHD` Summary output, CEConst.IDS_S_VHD:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutVHT` Summary output, CEConst.IDS_S_VHT:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutVMTD` Summary output, CEConst.IDS_S_VMTD:
    `private java.util.HashMap<java.lang.String,float[]>` | `sOutVMTV` Summary output, CEConst.IDS_S_VMTV:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spMLReportDensityFactor` For calculation only
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutActualTravelTime` Summary output, CEConst.IDS_SP_ACTUAL_TIME:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutMaxDC` Summary output, CEConst.IDS_SP_MAX_DC:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutMaxVC` Summary output, CEConst.IDS_SP_MAX_VC:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutMLActualTravelTime` Summary output, CEConst.IDS_ML_SP_ACTUAL_TIME:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutMLMaxDC` Summary output, CEConst.IDS_ML_SP_MAX_DC:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutMLMaxVC` Summary output, CEConst.IDS_ML_SP_MAX_VC:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutMLReportDensity_IA_pc` Summary output, CEConst.IDS_ML_SP_REPORT_DENSITY_PC:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutMLSpaceMeanSpeed` Summary output, CEConst.IDS_ML_SP_SPACE_MEAN_SPEED:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutMLVHD` Summary output, CEConst.IDS_ML_SP_VHD:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutMLVHT` Summary output, CEConst.IDS_ML_SP_VHT:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutMLVMTD` Summary output, CEConst.IDS_ML_SP_VMTD:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutMLVMTV` Summary output, CEConst.IDS_ML_SP_VMTV:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutReportDensity_IA_pc` Summary output, CEConst.IDS_SP_REPORT_DENSITY_PC:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutSpaceMeanSpeed` Summary output, CEConst.IDS_SP_SPACE_MEAN_SPEED:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutVHD` Summary output, CEConst.IDS_SP_VHD:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutVHT` Summary output, CEConst.IDS_SP_VHT:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutVMTD` Summary output, CEConst.IDS_SP_VMTD:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spOutVMTV` Summary output, CEConst.IDS_SP_VMTV:
    `private java.util.HashMap<java.lang.String,java.lang.Float>` | `spReportDensityFactor` For calculation only
    `private java.util.HashMap<java.lang.String,float[]>` | `sReportDensityFactor` For calculation only
    `private float[]` | `TTI_Value` Field Measured TTI Distribution Value (from 0.05 to 0.95 with 0.05 increment, and 0.99)
    `private CECoordinate` | `upstreamCoord` Seed Facility coordinate at the upstream end of the first segment
    `boolean` | `useCapacityDefaults`
    `int` | `versionID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Seed()` Constructor of Seed class

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `_addPeriod(GPMLSegment segment, int numPeriodToBeAdded, boolean isAtBeginning)` Helper for add one or more analysis periods
    `private void` | `_addSegment(int index, int num, java.util.ArrayList<GPMLSegment> segments, int GPMLType)` Helper for add segments
    `private void` | `_deleteRLScenarios()` Helper for delete RL scenarios
    `private void` | `_delPeriod(GPMLSegment segment, int numPeriodToBeDeleted, boolean isFromBeginning)` Delete one or more analysis periods
    `private void` | `_delSegment(int fromIndex, int toIndex, java.util.ArrayList<GPMLSegment> segments)` Helper for delete segments
    `private void` | `_resetBuffer()` Reset result buffer to null
    `void` | `addATDMSet(java.util.HashMap<java.lang.Integer,ATDMScenario[]> newATDMSet)` Add a new ATDM set
    `java.lang.String` | `addPeriod(int numPeriodToBeAdded, boolean isAtBeginning)` Add one or more analysis periods
    `void` | `addRampMeteringALINEAData(java.lang.String key, RampMeteringALINEAData newData)` Add ALINEA Adaptive Ramp Metering Data
    `void` | `addRampMeteringFuzzyData(java.lang.String key, RampMeteringFuzzyData newData)` Add Fuzzy Adaptive Ramp Metering Data
    `java.lang.String` | `addSegment(int index, int num)` Add multiple segments
    `private void` | `analyze(int scen, int atdm)` Analyze a particular scenario using under saturated or over saturated method
    `private void` | `calNumPeriods()` Calculate number of periods based on start and end times
    `private void` | `checkInBuffer(int scen, int atdm)` Check whether a scenario/ATDM is in output buffer
    `void` | `cleanScenarios()` Delete all generated scenarios (not include default scenario)
    `private void` | `configAccessSegment(GPMLSegment seg)` Configure parameters for access segment
    `private void` | `connectGPAndMLSegments()` Connect parallel GP and ML segments
    `private int` | `countATDM(int scen)` Count the number of ATDM analysis for a particular RL scenario
    `private void` | `debugCheckOutput()` Check whether output is valid (for debug only)
    `void` | `deleteAllATDM()` Delete all atdm sets
    `void` | `deleteATDMSet(int ATDMSetIndex)` Delete one atdm set
    `java.lang.String` | `delPeriod(int numPeriodToBeDeleted, boolean isFromBeginning)` Delete one or more analysis periods
    `java.lang.String` | `delSegment(int fromIndex, int toIndex)` Delete multiple segments
    `private void` | `disconnectGPAndMLSegments()` Disconnect parallel GP and ML segments
    `void` | `enableForceOversat(boolean val)` Sets whether the oversaturated module is forced to be used for all periods.
    `void` | `extrapolateRampTruckPCT()`
    `private void` | `fireDataChanged(int changeType)` Modify seed when seed data changes
    `private java.lang.String` | `funcFacilityDensityLOS(float density_pc, float demandCapacityRatio)` Calculate facility density based level of service in each period.
    `void` | `generateSegments(int numSegment)` Generate GPSegments, calculate number of analysis periods based on start And end time
    `private java.util.ArrayList<GPMLSegment>` | `generateSegments(int numSegment, int numPeriod, int GPMLType)` Helper for generate segment
    `private float` | `getATDMCAF(int scen, int atdm, int seg, int period, int segType)` Getter for ATDM adjustment factor
    `private float` | `getATDMDAF(int scen, int atdm, int seg, int period, int segType)` Getter for ATDM adjustment factor
    `ATDMDatabase` | `getATDMDatabase()` Getter for ATDM database
    `private int` | `getATDMLAF(int scen, int atdm, int seg, int period, int segType)` Getter for ATDM adjustment factor
    `private float` | `getATDMOAF(int scen, int atdm, int seg, int period, int segType)` Getter for ATDM adjustment factor
    `private float` | `getATDMSAF(int scen, int atdm, int seg, int period, int segType)` Getter for ATDM adjustment factor
    `java.util.ArrayList<java.util.HashMap<java.lang.Integer,ATDMScenario[]>>` | `getATDMSets()` Getter for ATDM sets
    `java.util.HashMap<java.lang.String,java.lang.Integer>` | `getCapDefaults()`
    `java.util.ArrayList<CEDate>` | `getDayExcluded()` Getter for weekday excluded in reliability analysis
    `CETime` | `getEndTime()` Getter for analysis period end time
    `java.util.HashMap<java.lang.String,java.lang.Object>` | `getGlobalDefaults()`
    `float[][]` | `getGPIncidentCAF()` Getter for GP incident CAF
    `float` | `getGPIncidentCrashRatio()` Getter for GP incident crash ratio
    `float[][]` | `getGPIncidentDAF()` Getter for GP incident DAF
    `float[]` | `getGPIncidentDistribution()` Getter for GP incident severity distribution
    `float[][]` | `getGPIncidentDuration()` Getter for GP incident duration
    `float[]` | `getGPIncidentFrequency()` Getter for GP incident frequency
    `int[][]` | `getGPIncidentLAF()` Getter for GP incident LAF
    `float[][]` | `getGPIncidentSAF()` Getter for GP incident SAF
    `float[][]` | `getMLIncidentCAF()` Getter for ML incident CAF
    `float` | `getMLIncidentCrashRatio()` Getter for ML incident crash ratio
    `float[][]` | `getMLIncidentDAF()` Getter for ML incident DAF
    `float[]` | `getMLIncidentDistribution()` Getter for ML incident severity distribution
    `float[][]` | `getMLIncidentDuration()` Getter for ML incident duration
    `float[]` | `getMLIncidentFrequency()` Getter for ML incident frequency
    `int[][]` | `getMLIncidentLAF()` Getter for ML incident LAF
    `float[][]` | `getMLIncidentSAF()` Getter for ML incident SAF
    `RMHelper` | `getRampMetering(int scen, int atdm, int segType)` Getter for comprehensive ramp metering information
    `java.util.TreeMap<java.lang.String,RampMeteringALINEAData>` | `getRampMeteringALINEAData()` Getter for ALINEA Adaptive Ramp Metering Data
    `java.util.TreeMap<java.lang.String,RampMeteringFuzzyData>` | `getRampMeteringFuzzyData()` Getter for Fuzzy Adaptive Ramp Metering Data
    `(package private) float` | `getRLAndATDMCAF(int scen, int atdm, int seg, int period, int segType)` Getter for RL and ATDM combined adjustment factor
    `(package private) float` | `getRLAndATDMDAF(int scen, int atdm, int seg, int period, int segType)` Getter for RL and ATDM combined adjustment factor
    `(package private) int` | `getRLAndATDMLAF(int scen, int atdm, int seg, int period, int segType)` Getter for RL and ATDM combined adjustment factor
    `(package private) float` | `getRLAndATDMOAF(int scen, int atdm, int seg, int period, int segType)` Getter for RL and ATDM combined adjustment factor
    `(package private) float` | `getRLAndATDMSAF(int scen, int atdm, int seg, int period, int segType)` Getter for RL and ATDM combined adjustment factor
    `float` | `getRLCAF(int scen, int seg, int period, int segType)` Getter for reliability analysis adjustment factor
    `private float` | `getRLDAF(int scen, int seg, int period, int segType)` Getter for reliability analysis adjustment factor
    `int` | `getRLLAFI(int scen, int seg, int period, int segType)` Getter for reliability analysis adjustment factor
    `int` | `getRLLAFWZ(int scen, int seg, int period, int segType)` Getter for reliability analysis adjustment factor
    `private float` | `getRLOAF(int scen, int seg, int period, int segType)` Getter for reliability analysis adjustment factor
    `java.lang.Long` | `getRLRNGSeed()` Get random number seed for RL scenario generation
    `private float` | `getRLSAF(int scen, int seg, int period, int segType)` Getter for reliability analysis adjustment factor
    `Scenario` | `getRLScenarioGP()` Getter for reliability analysis GP Scenarios
    `java.util.ArrayList<ScenarioInfo>` | `getRLScenarioInfo()` Getter for reliability analysis scenario information
    `Scenario` | `getRLScenarioML()` Getter for reliability analysis ML Scenarios
    `java.util.ArrayList<WorkZone>` | `getRLWorkZones()` Getter for list of Work Zones
    `CEDate` | `getRRPEndDate()` Getter for reliability analysis end date
    `CEDate` | `getRRPStartDate()` Getter for reliability analysis start date
    `CEDate` | `getSeedFileDate()` Getter for seed file date
    `int` | `getSegmentDefaultCapacity(int segIdx)`
    `float[][]` | `getSpecifiedGPDemand()` Getter for specified demand
    `float[][]` | `getSpecifiedMLDemand()` Getter for specified demand
    `CETime` | `getStartTime()` Getter for analysis period start time
    `float[]` | `getTTI_Value()` Getter for TTI
    `float` | `getValueFloat(java.lang.String ID)` Get a float value from a data field in this Seed object or in one of the GPSegments
    `float` | `getValueFloat(java.lang.String ID, int seg)` Get a float value from a data field in this Seed object or in one of the GPSegments
    `float` | `getValueFloat(java.lang.String ID, int seg, int period)` Get a float value from a data field in this Seed object or in one of the GPSegments
    `float` | `getValueFloat(java.lang.String ID, int seg, int period, int scen, int atdm)` Get a float value from a data field in this Seed object or in one of the GPSegments
    `int` | `getValueInt(java.lang.String ID)` Get an integer value from a data field in this Seed object or in one of the GPSegments
    `int` | `getValueInt(java.lang.String ID, int seg)` Get an integer value from a data field in this Seed object or in one of the GPSegments
    `int` | `getValueInt(java.lang.String ID, int seg, int period)` Get an integer value from a data field in this Seed object or in one of the GPSegments
    `int` | `getValueInt(java.lang.String ID, int seg, int period, int scen, int atdm)` Get an integer value from a data field in this Seed object or in one of the GPSegments
    `java.lang.String` | `getValueString(java.lang.String ID)` Get a String value from a data field in this Seed object or in one of the GPSegments
    `java.lang.String` | `getValueString(java.lang.String ID, int seg)` Get a String value from a data field in this Seed object or in one of the GPSegments
    `java.lang.String` | `getValueString(java.lang.String ID, int seg, int period)` Get a String value from a data field in this Seed object or in one of the GPSegments
    `java.lang.String` | `getValueString(java.lang.String ID, int seg, int period, int scen, int atdm)` Get a String value from a data field in this Seed object or in one of the GPSegments
    `float[]` | `getWeatherAverageDuration()` Getter for weather average duration
    `float[]` | `getWeatherCAF()` Getter for weather capacity adjustment factors.
    `float[]` | `getWeatherDAF()` Getter for weather demand adjustment factors.
    `java.lang.String` | `getWeatherLocation()` Getter for weather location
    `float[][]` | `getWeatherProbability()` Getter for weather probability
    `float[]` | `getWeatherSAF()` Getter for weather speed adjustment factors.
    `boolean[]` | `getWeekdayUsed()` Getter for weekday used in reliability analysis
    `boolean` | `hasValidOutput(int scen, int atdm)` Check whether a scenario has valid output
    `boolean` | `isFreeFlowSpeedKnown()` Getter for whether free flow speed is known
    `boolean` | `isManagedLaneUsed()` Getter for whether managed lane is used
    `private boolean` | `isSegmentUnderSat(GPMLSegment segment, int scen, int atdm, int period)` Helper for check whether a particular segment in a particular period in a particular scenario is under saturated or over saturated
    `private boolean` | `isUnderSatGP(int scen, int atdm, int period)` Check whether a particular period in a particular scenario is under saturated or over saturated
    `private boolean` | `isUnderSatML(int scen, int atdm, int period)` Check whether a particular period in a particular scenario is under saturated or over saturated
    `private void` | `locateMemory()` Locate memory for seed and segments
    `private void` | `locateSummaryMemory()` Create memory space for summary result
    `private void` | `preprocess(int scen, int atdm)` Preprocess for a particular scenario, will trigger memory location and global preprocess if necessary
    `private void` | `reduceMLMemory()` Free managed lane memory
    `private void` | `reindexSegment(java.util.ArrayList<GPMLSegment> segments)` Renumbering segments
    `void` | `removeRampMeteringALINEAData(java.lang.String key)` Remove ALINEA Adaptive Ramp Metering Data
    `void` | `removeRampMeteringFuzzyData(java.lang.String key)` Remove Fuzzy Adaptive Ramp Metering Data
    `void` | `resetSeedToInputOnly()` Reset seed status (must be called) after read from file since output data in not stored on disk
    `private void` | `resetSummary(java.lang.String scenATDM)` Delete previous summary result for a particular scenario
    `void` | `setATDMDatabase(ATDMDatabase newDB)` Setter for ATDM database
    `void` | `setDayExcluded(java.util.ArrayList<CEDate> dayExcluded)` Setter for weekday excluded in reliability analysis
    `void` | `setFreeFlowSpeedKnown(boolean freeFlowSpeedKnown)` Setter for whether free flow speed is known
    `void` | `setGPIncidentCAF(float[][] incidentCAF)` Setter for GP incident CAF
    `void` | `setGPIncidentCrashRatio(float incidentCrashRatio)` Setter for GP incident crash ratio
    `void` | `setGPIncidentDAF(float[][] incidentDAF)` Setter for GP incident DAF
    `void` | `setGPIncidentDistribution(float[] incidentDistribution)` Setter for GP incident severity distribution.
    `void` | `setGPIncidentDuration(float[][] incidentDuration)` Setter for GP incident duration
    `void` | `setGPIncidentFrequency(float[] incidentFrequency)` Setter for GP incident frequency
    `void` | `setGPIncidentLAF(int[][] incidentLAF)` Setter for GP incident LAF
    `void` | `setGPIncidentSAF(float[][] incidentSAF)` Setter for GP incident SAF
    `void` | `setManagedLaneUsed(boolean managedLaneUsed)` Setter for whether managed lane is used
    `void` | `setMLIncidentCAF(float[][] incidentCAF)` Setter for ML incident CAF
    `void` | `setMLIncidentCrashRatio(float incidentCrashRatio)` Setter for ML crash ration
    `void` | `setMLIncidentDAF(float[][] incidentDAF)` Setter for ML incident DAF
    `void` | `setMLIncidentDistribution(float[] incidentDistribution)` Setter for ML incident severity distribution.
    `void` | `setMLIncidentDuration(float[][] incidentDuration)` Setter for ML incident duration
    `void` | `setMLIncidentFrequency(float[] incidentFrequency)` Setter for ML incident frequency
    `void` | `setMLIncidentLAF(int[][] incidentLAF)` Setter for ML incident LAF
    `void` | `setMLIncidentSAF(float[][] incidentSAF)` Setter for ML incident SAF
    `void` | `setRLRNGSeed(long newVal)` Sets the value of the random number generator seed as newVal.
    `java.lang.String` | `setRLScenarios(Scenario scenariosGP, Scenario scenariosML, java.util.ArrayList<ScenarioInfo> scenarioInfo)` Assign generated 2-D RL scenarios to GPSegments
    `void` | `setRLWorkZones(java.util.ArrayList<WorkZone> RL_WorkZones)` Setter for list of Work Zones
    `void` | `setRRPEndDate(CEDate RRPEndDate)` Setter for reliability analysis end date
    `void` | `setRRPStartDate(CEDate RRPStartDate)` Setter for reliability analysis start date
    `void` | `setSeedFileDate(CEDate seedFileDate)` Setter for seed file date
    `void` | `setSegmentCapacityDefaults(java.util.HashMap<java.lang.String,java.lang.Integer> newDefaults)`
    `void` | `setSegmentGlobalDefaults(java.util.HashMap<java.lang.String,java.lang.Object> newDefaults)`
    `void` | `setSpecifiedGPDemand(float[][] specifiedDemand)` Setter for specified demand
    `void` | `setSpecifiedMLDemand(float[][] specifiedDemand)` Setter for specified demand
    `void` | `setTTI_Value(float[] TTI_Value)` Setter for TTI
    `void` | `setValue(java.lang.String ID, java.lang.Object value)` Set value to a data field in this Seed object or in one of the GPSegments
    `void` | `setValue(java.lang.String ID, java.lang.Object value, int seg)` Set value to a data field in this Seed object or in one of the GPSegments
    `void` | `setValue(java.lang.String ID, java.lang.Object value, int seg, int period)` Set value to a data field in this Seed object or in one of the GPSegments
    `void` | `setValue(java.lang.String ID, java.lang.Object value, int seg, int period, int scen, int atdm)` Set value to a data field in this Seed object or in one of the GPSegments
    `void` | `setWeatherAverageDuration(float[] weatherAverageDuration)` Setter for weather average duration
    `void` | `setWeatherCAF(float[] RL_WeatherCAF)` Setter for weather capacity adjustment factors.
    `void` | `setWeatherDAF(float[] RL_WeatherDAF)` Setter for weather demand adjustment factors.
    `void` | `setWeatherLocation(java.lang.String weatherLocation)` Setter for weather location
    `void` | `setWeatherProbability(float[][] weatherProbability)` Setter for weather probability
    `void` | `setWeatherSAF(float[] RL_WeatherSAF)` Setter for weather speed adjustment factors.
    `void` | `setWeekdayUsed(boolean[] weekdayUsed)` Setter for weekday used in reliability analysis
    `void` | `shiftTimePeriod(CETime newStart, CETime newEnd)`
    `int` | `singleRun(int scen, int atdm)` Perform a single run for the base case or a particular RL scenario or an ATDM scenario
    `private void` | `summary(int scen, int atdm)` generate summary result for a particular scenario
    `private float` | `sumMLQueue(int period)` Sum the length of mainline queue for a particular period in a particular scenario
    `private float` | `sumONRQueue(int period)` Sum the length of on ramp queue for a particular period in a particular scenario
    `FacilitySummary` | `testATDM(ATDMScenario[] atdmScenario, int scen)` Test an ATDM plans on a particular scenario
    `java.lang.String` | `toString()`

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

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

- - ### Field Detail

    - #### serialVersionUID

          private static final long serialVersionUID

      serialVersionUID
      See Also:
        Constant Field Values

    - #### versionID

          public int versionID

    - #### inUrbanRuralType

          int inUrbanRuralType

      Seed urban-rural type

    - #### inNumScen

          private int inNumScen

      Number of RL scenarios (NOT including default scenario)

    - #### inNumPeriod

          private int inNumPeriod

      Number of periods

    - #### GPSegments

          private java.util.ArrayList<GPMLSegment> GPSegments

      ArrayList of all general purpose segments

    - #### inManagedLaneUsed

          private boolean inManagedLaneUsed

      Whether managed lane is used;

    - #### MLSegments

          private java.util.ArrayList<GPMLSegment> MLSegments

      ArrayList of all managed lane segments

    - #### NUM_STEPS

          private static final int NUM_STEPS

      Number of steps per period in over saturated
      See Also:
        Constant Field Values

    - #### inStartTime

          private CETime inStartTime

      Start time of analysis period

    - #### inEndTime

          private CETime inEndTime

      End time of analysis period

    - #### LENGTH_OF_EACH_PERIOD

          private static final CETime LENGTH_OF_EACH_PERIOD

      Length of each analysis period, default 15min

    - #### inFreeFlowSpeedKnown

          private boolean inFreeFlowSpeedKnown

      Whether free flow speed is known

    - #### rampMeteringGP

          private RMHelper rampMeteringGP

      User defined ramp metering information for general purpose segments

    - #### rampMeteringML

          private RMHelper rampMeteringML

      User defined ramp metering information for managed lanes segments

    - #### inJamDensity

          private float inJamDensity

      Facility wide jam density, pc/mi/ln

    - #### inGlobalETDefault

          public float inGlobalETDefault

      Global Input Truck - Passenger Car Equivalent

    - #### inCapacityDropPercentage

          private int inCapacityDropPercentage

      Capacity drop percentage

    - #### inGPOccupancy

          private float inGPOccupancy

      Average vehicle occupancy in general purpose lanes (passenger / vehicle)

    - #### inMLOccupancy

          private float inMLOccupancy

      Average vehicle occupancy in managed lanes (passenger / vehicle)

    - #### inProjectName

          private java.lang.String inProjectName

      Project name

    - #### inFileName

          private java.lang.String inFileName

      Seed file path and name on disk

    - #### upstreamCoord

          private CECoordinate upstreamCoord

      Seed Facility coordinate at the upstream end of the first segment

    - #### routedPaths

          public java.lang.String[] routedPaths

      Array of strings giving the routed path of each segment

    - #### needMemory

          private boolean needMemory

      Whether locate memory is required

    - #### seedInputModified

          private boolean seedInputModified

      Whether global preprocess is required

    - #### bufferScen

          private int bufferScen

      Scenario index of the currently buffered result (-1 for null)

    - #### bufferATDM

          private int bufferATDM

      ATDM set index of the currently buffered result (-1 for null)

    - #### RL_ScenarioInfo

          private java.util.ArrayList<ScenarioInfo> RL_ScenarioInfo

      ArrayList which contains all reliability analysis scenario information, include default/empty seed scenario.

    - #### RL_Scenarios_GP

          private Scenario RL_Scenarios_GP

      Reliability scenarios for GP, NOT include default/empty seed scenario

    - #### RL_Scenarios_ML

          private Scenario RL_Scenarios_ML

      Reliability scenarios for ML, NOT include default/empty seed scenario

    - #### RL_SeedFileDate

          private CEDate RL_SeedFileDate

      Seed file date

    - #### RL_RRPStartDate

          private CEDate RL_RRPStartDate

      Reliability analysis start date

    - #### RL_RRPEndDate

          private CEDate RL_RRPEndDate

      Reliability analysis end date

    - #### RL_RngSeed

          private java.lang.Long RL_RngSeed

      Scenario Generator random number generator

    - #### RL_SpecifiedDemand_GP

          private float[][] RL_SpecifiedDemand_GP

      Specified demand multiplier for GP segments

    - #### RL_SpecifiedDemand_ML

          private float[][] RL_SpecifiedDemand_ML

      Specified demand multiplier for GP segments

    - #### RL_WeekdayUsed

          private boolean[] RL_WeekdayUsed

      Week day used for reliability analysis

    - #### RL_DayExcluded

          private java.util.ArrayList<CEDate> RL_DayExcluded

      Days excluded in reliability analysis

    - #### RL_WeatherLocation

          private java.lang.String RL_WeatherLocation

      Weather location

    - #### RL_WeatherProbability

          private float[][] RL_WeatherProbability

      Weather event probability

    - #### RL_WeatherAverageDuration

          private float[] RL_WeatherAverageDuration

      Weather event average duration

    - #### RL_WeatherCAF

          private float[] RL_WeatherCAF

      Weather event capacity adjustment factors

    - #### RL_WeatherDAF

          private float[] RL_WeatherDAF

      Weather event demand adjustment factors

    - #### RL_WeatherSAF

          private float[] RL_WeatherSAF

      Weather event speed adjustment factors

    - #### RL_IncidentFrequency_GP

          private float[] RL_IncidentFrequency_GP

      GP Incident frequency

    - #### RL_IncidentDuration_GP

          private float[][] RL_IncidentDuration_GP

      GP Incident duration

    - #### RL_IncidentDistribution_GP

          private float[] RL_IncidentDistribution_GP

      GP Incident Severity Distribution

    - #### RL_IncidentCAF_GP

          private float[][] RL_IncidentCAF_GP

      GP Incident CAF. First index is incident type/severity, second is number of lanes (2 lanes is 0, 3 is 1, etc.).

    - #### RL_IncidentDAF_GP

          private float[][] RL_IncidentDAF_GP

      GP Incident DAF. First index is incident type/severity, second is number of lanes (2 lanes is 0, 3 is 1, etc.).

    - #### RL_IncidentSAF_GP

          private float[][] RL_IncidentSAF_GP

      GP Incident SAF. First index is incident type/severity, second is number of lanes (2 lanes is 0, 3 is 1, etc.).

    - #### RL_IncidentLAF_GP

          private int[][] RL_IncidentLAF_GP

      GP Incident LAF. First index is incident type/severity, second is number of lanes (2 lanes is 0, 3 is 1, etc.).

    - #### RL_IncidentCrashRatio_GP

          private float RL_IncidentCrashRatio_GP

      GP Incident over crash ratio

    - #### RL_IncidentFrequency_ML

          private float[] RL_IncidentFrequency_ML

      ML Incident frequency

    - #### RL_IncidentDuration_ML

          private float[][] RL_IncidentDuration_ML

      ML Incident duration

    - #### RL_IncidentDistribution_ML

          private float[] RL_IncidentDistribution_ML

      ML Incident Severity Distribution

    - #### RL_IncidentCAF_ML

          private float[][] RL_IncidentCAF_ML

      ML Incident CAF. First index is incident type/severity, second is number of lanes (1 lanes is 0, 2 lanes is 1).

    - #### RL_IncidentDAF_ML

          private float[][] RL_IncidentDAF_ML

      ML Incident DAF. First index is incident type/severity, second is number of lanes (1 lanes is 0, 2 lanes is 1).

    - #### RL_IncidentSAF_ML

          private float[][] RL_IncidentSAF_ML

      ML Incident SAF. First index is incident type/severity, second is number of lanes (1 lanes is 0, 2 lanes is 1).

    - #### RL_IncidentLAF_ML

          private int[][] RL_IncidentLAF_ML

      ML Incident LAF. First index is incident type/severity, second is number of lanes (1 lanes is 0, 2 lanes is 1).

    - #### RL_IncidentCrashRatio_ML

          private float RL_IncidentCrashRatio_ML

      ML Incident over crash ratio

    - #### RL_WorkZones

          private java.util.ArrayList<WorkZone> RL_WorkZones

      List of work zones

    - #### TTI_Value

          private float[] TTI_Value

      Field Measured TTI Distribution Value (from 0.05 to 0.95 with 0.05 increment, and 0.99)

    - #### forceOversat

          private boolean forceOversat

      Indicates whether the oversaturated module is forced to be used in all periods. If true the oversat module will be used in all periods, if false (default) the CoreEngine will switch between undersaturated and oversaturated analysis as needed.

    - #### ATDMSets

          private java.util.ArrayList<java.util.HashMap<java.lang.Integer,ATDMScenario[]>> ATDMSets

      ATDM Sets, each set contains a HashMap of related scenarios

    - #### atdmDatabase

          private ATDMDatabase atdmDatabase

      ATDM database (strategies and plans)

    - #### pOutActualTravelTime

          private transient java.util.HashMap<java.lang.String,float[]> pOutActualTravelTime

      Summary output, CEConst.IDS_P_ACTUAL_TIME:

    - #### pOutFreeFlowTravelTime

          private transient java.util.HashMap<java.lang.String,float[]> pOutFreeFlowTravelTime

      Summary output, CEConst.IDS_P_FFS_TIME:

    - #### pOutMainlineDelay

          private transient java.util.HashMap<java.lang.String,float[]> pOutMainlineDelay

      Summary output, CEConst.IDS_P_ML_DELAY:

    - #### pOutOnRampDelay

          private transient java.util.HashMap<java.lang.String,float[]> pOutOnRampDelay

      Summary output, CEConst.IDS_P_ONR_DELAY:

    - #### pOutVMTD

          private transient java.util.HashMap<java.lang.String,float[]> pOutVMTD

      Summary output, CEConst.IDS_P_VMTD:

    - #### pOutVMTV

          private transient java.util.HashMap<java.lang.String,float[]> pOutVMTV

      Summary output, CEConst.IDS_P_VMTV:

    - #### pOutVHT

          private transient java.util.HashMap<java.lang.String,float[]> pOutVHT

      Summary output, CEConst.IDS_P_VHT:

    - #### pOutVHD

          private transient java.util.HashMap<java.lang.String,float[]> pOutVHD

      Summary output, CEConst.IDS_P_VHD:

    - #### pOutSpaceMeanSpeed

          private transient java.util.HashMap<java.lang.String,float[]> pOutSpaceMeanSpeed

      Summary output, CEConst.IDS_P_SPACE_MEAN_SPEED:

    - #### pOutDensityTotal_veh

          private transient java.util.HashMap<java.lang.String,float[]> pOutDensityTotal_veh

      Summary output, CEConst.IDS_P_TOTAL_DENSITY_VEH:

    - #### pOutDensityTotal_pc

          private transient java.util.HashMap<java.lang.String,float[]> pOutDensityTotal_pc

      Summary output, CEConst.IDS_P_TOTAL_DENSITY_PC:

    - #### pOutReportLOS

          private transient java.util.HashMap<java.lang.String,java.lang.String[]> pOutReportLOS

      Summary output, CEConst.IDS_P_REPORT_LOS:

    - #### pOutTravelTimeIndex

          private transient java.util.HashMap<java.lang.String,float[]> pOutTravelTimeIndex

      Summary output, CEConst.IDS_P_TTI:

    - #### pOutMaxDC

          private transient java.util.HashMap<java.lang.String,float[]> pOutMaxDC

      Summary output, CEConst.IDS_P_MAX_DC:

    - #### pOutMaxVC

          private transient java.util.HashMap<java.lang.String,float[]> pOutMaxVC

      Summary output, CEConst.IDS_P_MAX_VC:

    - #### pOutDenyVeh

          private transient java.util.HashMap<java.lang.String,float[]> pOutDenyVeh

      Summary output, CEConst.IDS_P_TOTAL_DENY_QUEUE_VEH:

    - #### pOutMainlineQueueLengthFt

          private transient java.util.HashMap<java.lang.String,float[]> pOutMainlineQueueLengthFt

      Summary output, CEConst.IDS_P_TOTAL_ML_QUEUE_LENGTH_FT:

    - #### pOutOnQueueVeh

          private transient java.util.HashMap<java.lang.String,float[]> pOutOnQueueVeh

      Summary output, CEConst.IDS_P_TOTAL_ON_QUEUE_LENGTH_FT:

    - #### sOutActualTravelTime

          private transient java.util.HashMap<java.lang.String,float[]> sOutActualTravelTime

      Summary output, CEConst.IDS_S_ACTUAL_TIME:

    - #### sOutVMTD

          private transient java.util.HashMap<java.lang.String,float[]> sOutVMTD

      Summary output, CEConst.IDS_S_VMTD:

    - #### sOutVMTV

          private transient java.util.HashMap<java.lang.String,float[]> sOutVMTV

      Summary output, CEConst.IDS_S_VMTV:

    - #### sOutVHT

          private transient java.util.HashMap<java.lang.String,float[]> sOutVHT

      Summary output, CEConst.IDS_S_VHT:

    - #### sOutVHD

          private transient java.util.HashMap<java.lang.String,float[]> sOutVHD

      Summary output, CEConst.IDS_S_VHD:

    - #### sOutSpaceMeanSpeed

          private transient java.util.HashMap<java.lang.String,float[]> sOutSpaceMeanSpeed

      Summary output, CEConst.IDS_S_SPACE_MEAN_SPEED:

    - #### sOutReportDensity_IA_pc

          private transient java.util.HashMap<java.lang.String,float[]> sOutReportDensity_IA_pc

      Summary output, CEConst.IDS_S_REPORT_DENSITY_PC:

    - #### sOutMaxDC

          private transient java.util.HashMap<java.lang.String,float[]> sOutMaxDC

      Summary output, CEConst.IDS_S_MAX_DC:

    - #### sOutMaxVC

          private transient java.util.HashMap<java.lang.String,float[]> sOutMaxVC

      Summary output, CEConst.IDS_S_MAX_VC:

    - #### spOutActualTravelTime

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutActualTravelTime

      Summary output, CEConst.IDS_SP_ACTUAL_TIME:

    - #### spOutVMTD

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutVMTD

      Summary output, CEConst.IDS_SP_VMTD:

    - #### spOutVMTV

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutVMTV

      Summary output, CEConst.IDS_SP_VMTV:

    - #### spOutVHT

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutVHT

      Summary output, CEConst.IDS_SP_VHT:

    - #### spOutVHD

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutVHD

      Summary output, CEConst.IDS_SP_VHD:

    - #### spOutSpaceMeanSpeed

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutSpaceMeanSpeed

      Summary output, CEConst.IDS_SP_SPACE_MEAN_SPEED:

    - #### spOutReportDensity_IA_pc

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutReportDensity_IA_pc

      Summary output, CEConst.IDS_SP_REPORT_DENSITY_PC:

    - #### spOutMaxDC

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMaxDC

      Summary output, CEConst.IDS_SP_MAX_DC:

    - #### spOutMaxVC

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMaxVC

      Summary output, CEConst.IDS_SP_MAX_VC:

    - #### pReportDensityFactor

          private transient java.util.HashMap<java.lang.String,float[]> pReportDensityFactor

      For calculation only

    - #### sReportDensityFactor

          private transient java.util.HashMap<java.lang.String,float[]> sReportDensityFactor

      For calculation only

    - #### spReportDensityFactor

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spReportDensityFactor

      For calculation only

    - #### isCalib

          public transient boolean isCalib

    - #### calibCDP

          public transient float[] calibCDP

    - #### calibJD

          public transient float[] calibJD

    - #### pOutMLActualTravelTime

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLActualTravelTime

      Summary output, CEConst.IDS_ML_P_ACTUAL_TIME:

    - #### pOutMLFreeFlowTravelTime

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLFreeFlowTravelTime

      Summary output, CEConst.IDS_ML_P_FFS_TIME:

    - #### pOutMLMainlineDelay

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLMainlineDelay

      Summary output, CEConst.IDS_ML_P_ML_DELAY:

    - #### pOutMLOnRampDelay

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLOnRampDelay

      Summary output, CEConst.IDS_ML_P_ONR_DELAY:

    - #### pOutMLVMTD

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLVMTD

      Summary output, CEConst.IDS_ML_P_VMTD:

    - #### pOutMLVMTV

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLVMTV

      Summary output, CEConst.IDS_ML_P_VMTV:

    - #### pOutMLVHT

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLVHT

      Summary output, CEConst.IDS_ML_P_VHT:

    - #### pOutMLVHD

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLVHD

      Summary output, CEConst.IDS_ML_P_VHD:

    - #### pOutMLSpaceMeanSpeed

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLSpaceMeanSpeed

      Summary output, CEConst.IDS_ML_P_SPACE_MEAN_SPEED:

    - #### pOutMLDensityTotal_veh

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLDensityTotal_veh

      Summary output, CEConst.IDS_ML_P_TOTAL_DENSITY_VEH:

    - #### pOutMLDensityTotal_pc

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLDensityTotal_pc

      Summary output, CEConst.IDS_ML_P_TOTAL_DENSITY_PC:

    - #### pOutMLReportLOS

          private transient java.util.HashMap<java.lang.String,java.lang.String[]> pOutMLReportLOS

      Summary output, CEConst.IDS_ML_P_REPORT_LOS:

    - #### pOutMLTravelTimeIndex

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLTravelTimeIndex

      Summary output, CEConst.IDS_ML_P_TTI:

    - #### pOutMLMaxDC

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLMaxDC

      Summary output, CEConst.IDS_ML_P_MAX_DC:

    - #### pOutMLMaxVC

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLMaxVC

      Summary output, CEConst.IDS_ML_P_MAX_VC:

    - #### pOutMLDenyLengthFt

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLDenyLengthFt

      Summary output, CEConst.IDS_ML_P_TOTAL_DENY_QUEUE_LENGTH_FT:

    - #### pOutMLMainlineQueueLengthFt

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLMainlineQueueLengthFt

      Summary output, CEConst.IDS_ML_P_TOTAL_ML_QUEUE_LENGTH_FT:

    - #### pOutMLOnQueueLengthFt

          private transient java.util.HashMap<java.lang.String,float[]> pOutMLOnQueueLengthFt

      Summary output, CEConst.IDS_ML_P_TOTAL_ON_QUEUE_LENGTH_FT:

    - #### sOutMLActualTravelTime

          private transient java.util.HashMap<java.lang.String,float[]> sOutMLActualTravelTime

      Summary output, CEConst.IDS_ML_S_ACTUAL_TIME:

    - #### sOutMLVMTD

          private transient java.util.HashMap<java.lang.String,float[]> sOutMLVMTD

      Summary output, CEConst.IDS_ML_S_VMTD:

    - #### sOutMLVMTV

          private transient java.util.HashMap<java.lang.String,float[]> sOutMLVMTV

      Summary output, CEConst.IDS_ML_S_VMTV:

    - #### sOutMLVHT

          private transient java.util.HashMap<java.lang.String,float[]> sOutMLVHT

      Summary output, CEConst.IDS_ML_S_VHT:

    - #### sOutMLVHD

          private transient java.util.HashMap<java.lang.String,float[]> sOutMLVHD

      Summary output, CEConst.IDS_ML_S_VHD:

    - #### sOutMLSpaceMeanSpeed

          private transient java.util.HashMap<java.lang.String,float[]> sOutMLSpaceMeanSpeed

      Summary output, CEConst.IDS_ML_S_SPACE_MEAN_SPEED:

    - #### sOutMLReportDensity_IA_pc

          private transient java.util.HashMap<java.lang.String,float[]> sOutMLReportDensity_IA_pc

      Summary output, CEConst.IDS_ML_S_REPORT_DENSITY_PC:

    - #### sOutMLMaxDC

          private transient java.util.HashMap<java.lang.String,float[]> sOutMLMaxDC

      Summary output, CEConst.IDS_ML_S_MAX_DC:

    - #### sOutMLMaxVC

          private transient java.util.HashMap<java.lang.String,float[]> sOutMLMaxVC

      Summary output, CEConst.IDS_ML_S_MAX_VC:

    - #### spOutMLActualTravelTime

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLActualTravelTime

      Summary output, CEConst.IDS_ML_SP_ACTUAL_TIME:

    - #### spOutMLVMTD

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLVMTD

      Summary output, CEConst.IDS_ML_SP_VMTD:

    - #### spOutMLVMTV

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLVMTV

      Summary output, CEConst.IDS_ML_SP_VMTV:

    - #### spOutMLVHT

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLVHT

      Summary output, CEConst.IDS_ML_SP_VHT:

    - #### spOutMLVHD

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLVHD

      Summary output, CEConst.IDS_ML_SP_VHD:

    - #### spOutMLSpaceMeanSpeed

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLSpaceMeanSpeed

      Summary output, CEConst.IDS_ML_SP_SPACE_MEAN_SPEED:

    - #### spOutMLReportDensity_IA_pc

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLReportDensity_IA_pc

      Summary output, CEConst.IDS_ML_SP_REPORT_DENSITY_PC:

    - #### spOutMLMaxDC

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLMaxDC

      Summary output, CEConst.IDS_ML_SP_MAX_DC:

    - #### spOutMLMaxVC

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLMaxVC

      Summary output, CEConst.IDS_ML_SP_MAX_VC:

    - #### pMLReportDensityFactor

          private transient java.util.HashMap<java.lang.String,float[]> pMLReportDensityFactor

      For calculation only

    - #### sMLReportDensityFactor

          private transient java.util.HashMap<java.lang.String,float[]> sMLReportDensityFactor

      For calculation only

    - #### spMLReportDensityFactor

          private transient java.util.HashMap<java.lang.String,java.lang.Float> spMLReportDensityFactor

      For calculation only

    - #### useCapacityDefaults

          public boolean useCapacityDefaults

    - #### defaultSegCapacityMap

          private java.util.HashMap<java.lang.String,java.lang.Integer> defaultSegCapacityMap

    - #### defaultsMap

          private java.util.HashMap<java.lang.String,java.lang.Object> defaultsMap

    - #### CHANGE_SEED

          private static final int CHANGE_SEED

      Seed level change mark
      See Also:
        Constant Field Values

    - #### CHANGE_SCEN

          private static final int CHANGE_SCEN

      Scenario level change mark
      See Also:
        Constant Field Values

    - #### CHANGE_ATDM

          private static final int CHANGE_ATDM

      ATDM level change mark
      See Also:
        Constant Field Values

    - #### CHANGE_RESET_TO_INPUT

          private static final int CHANGE_RESET_TO_INPUT

      Reset to input mark
      See Also:
        Constant Field Values

    - #### rmALINEA

          private final java.util.TreeMap<java.lang.String,RampMeteringALINEAData> rmALINEA

      ALINEA Adaptive Ramp Metering Data

    - #### rmFuzzy

          private final java.util.TreeMap<java.lang.String,RampMeteringFuzzyData> rmFuzzy

      Fuzzy Adaptive Ramp Metering Data

    - #### printRM

          public boolean printRM

      Debug toggle for Fuzzy RM

    - #### fuzzyRMDebugOutputFileName

          public java.lang.String fuzzyRMDebugOutputFileName

      File in which to save the debug output for Fuzzy RM

    - #### printDiss

          public boolean printDiss

    - #### pdfname1

          public java.lang.String pdfname1

    - #### pdfname2

          public java.lang.String pdfname2

  - ### Constructor Detail

    - #### Seed

          public Seed()

      Constructor of Seed class

  - ### Method Detail

    - #### getRLOAF

          private float getRLOAF(int scen,
                                 int seg,
                                 int period,
                                 int segType)

      Getter for reliability analysis adjustment factor
      Parameters:
        `scen` - scenario index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        reliability analysis adjustment factor

    - #### getRLDAF

          private float getRLDAF(int scen,
                                 int seg,
                                 int period,
                                 int segType)

      Getter for reliability analysis adjustment factor
      Parameters:
        `scen` - scenario index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        reliability analysis adjustment factor

    - #### getRLSAF

          private float getRLSAF(int scen,
                                 int seg,
                                 int period,
                                 int segType)

      Getter for reliability analysis adjustment factor
      Parameters:
        `scen` - scenario index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        reliability analysis adjustment factor

    - #### getRLCAF

          public float getRLCAF(int scen,
                                int seg,
                                int period,
                                int segType)

      Getter for reliability analysis adjustment factor
      Parameters:
        `scen` - scenario index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        reliability analysis adjustment factor

    - #### getRLLAFI

          public int getRLLAFI(int scen,
                               int seg,
                               int period,
                               int segType)

      Getter for reliability analysis adjustment factor
      Parameters:
        `scen` - scenario index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        reliability analysis adjustment factor

    - #### getRLLAFWZ

          public int getRLLAFWZ(int scen,
                                int seg,
                                int period,
                                int segType)

      Getter for reliability analysis adjustment factor
      Parameters:
        `scen` - scenario index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        reliability analysis adjustment factor

    - #### getATDMOAF

          private float getATDMOAF(int scen,
                                   int atdm,
                                   int seg,
                                   int period,
                                   int segType)

      Getter for ATDM adjustment factor
      Parameters:
        `scen` - scenario index
        `atdm` - ATDM set index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        ATDM adjustment factor

    - #### getATDMDAF

          private float getATDMDAF(int scen,
                                   int atdm,
                                   int seg,
                                   int period,
                                   int segType)

      Getter for ATDM adjustment factor
      Parameters:
        `scen` - scenario index
        `atdm` - ATDM set index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        ATDM adjustment factor

    - #### getATDMSAF

          private float getATDMSAF(int scen,
                                   int atdm,
                                   int seg,
                                   int period,
                                   int segType)

      Getter for ATDM adjustment factor
      Parameters:
        `scen` - scenario index
        `atdm` - ATDM set index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        ATDM adjustment factor

    - #### getATDMCAF

          private float getATDMCAF(int scen,
                                   int atdm,
                                   int seg,
                                   int period,
                                   int segType)

      Getter for ATDM adjustment factor
      Parameters:
        `scen` - scenario index
        `atdm` - ATDM set index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        ATDM adjustment factor

    - #### getATDMLAF

          private int getATDMLAF(int scen,
                                 int atdm,
                                 int seg,
                                 int period,
                                 int segType)

      Getter for ATDM adjustment factor
      Parameters:
        `scen` - scenario index
        `atdm` - ATDM set index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        ATDM adjustment factor

    - #### getRLAndATDMOAF

          float getRLAndATDMOAF(int scen,
                                int atdm,
                                int seg,
                                int period,
                                int segType)

      Getter for RL and ATDM combined adjustment factor
      Parameters:
        `scen` - scenario index
        `atdm` - ATDM set index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        RL and ATDM combined adjustment factor

    - #### getRLAndATDMDAF

          float getRLAndATDMDAF(int scen,
                                int atdm,
                                int seg,
                                int period,
                                int segType)

      Getter for RL and ATDM combined adjustment factor
      Parameters:
        `scen` - scenario index
        `atdm` - ATDM set index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        RL and ATDM combined adjustment factor

    - #### getRLAndATDMSAF

          float getRLAndATDMSAF(int scen,
                                int atdm,
                                int seg,
                                int period,
                                int segType)

      Getter for RL and ATDM combined adjustment factor
      Parameters:
        `scen` - scenario index
        `atdm` - ATDM set index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        RL and ATDM combined adjustment factor

    - #### getRLAndATDMCAF

          float getRLAndATDMCAF(int scen,
                                int atdm,
                                int seg,
                                int period,
                                int segType)

      Getter for RL and ATDM combined adjustment factor
      Parameters:
        `scen` - scenario index
        `atdm` - ATDM set index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        RL and ATDM combined adjustment factor

    - #### getRLAndATDMLAF

          int getRLAndATDMLAF(int scen,
                              int atdm,
                              int seg,
                              int period,
                              int segType)

      Getter for RL and ATDM combined adjustment factor
      Parameters:
        `scen` - scenario index
        `atdm` - ATDM set index
        `seg` - segment index
        `period` - period index
        `segType` - segment GP/ML type
      Returns:
        RL and ATDM combined adjustment factor

    - #### addATDMSet

          public void addATDMSet(java.util.HashMap<java.lang.Integer,ATDMScenario[]> newATDMSet)

      Add a new ATDM set
      Parameters:
        `newATDMSet` - new ATDM set

    - #### deleteAllATDM

          public void deleteAllATDM()

      Delete all atdm sets

    - #### deleteATDMSet

          public void deleteATDMSet(int ATDMSetIndex)

      Delete one atdm set
      Parameters:
        `ATDMSetIndex` - Index of the ATDM set to be deleted (start with 0)

    - #### countATDM

          private int countATDM(int scen)

      Count the number of ATDM analysis for a particular RL scenario
      Parameters:
        `scen` - scenario index
      Returns:
        number of ATDM analysis for a particular RL scenario

    - #### getATDMSets

          public java.util.ArrayList<java.util.HashMap<java.lang.Integer,ATDMScenario[]>> getATDMSets()

      Getter for ATDM sets
      Returns:
        ATDM sets

    - #### hasValidOutput

          public boolean hasValidOutput(int scen,
                                        int atdm)

      Check whether a scenario has valid output
      Parameters:
        `scen` - scenario index (0 is the default scenario, 1 is the first generated scenario)
        `atdm` - ATDM set index (-1 for RL scenario)
      Returns:
        whether a scenario has valid output

    - #### getGlobalDefaults

          public java.util.HashMap<java.lang.String,java.lang.Object> getGlobalDefaults()

    - #### setSegmentGlobalDefaults

          public void setSegmentGlobalDefaults(java.util.HashMap<java.lang.String,java.lang.Object> newDefaults)

    - #### getCapDefaults

          public java.util.HashMap<java.lang.String,java.lang.Integer> getCapDefaults()

    - #### setSegmentCapacityDefaults

          public void setSegmentCapacityDefaults(java.util.HashMap<java.lang.String,java.lang.Integer> newDefaults)

    - #### getSegmentDefaultCapacity

          public int getSegmentDefaultCapacity(int segIdx)

    - #### generateSegments

          public void generateSegments(int numSegment)

      Generate GPSegments, calculate number of analysis periods based on start And end time
      Parameters:
        `numSegment` - number of GPSegments

    - #### calNumPeriods

          private void calNumPeriods()

      Calculate number of periods based on start and end times

    - #### generateSegments

          private java.util.ArrayList<GPMLSegment> generateSegments(int numSegment,
                                                                    int numPeriod,
                                                                    int GPMLType)

      Helper for generate segment
      Parameters:
        `numSegment` - number of segments
        `numPeriod` - number of periods
        `GPMLType` - segment GP/ML type
      Returns:
        ArrayList of generated segments

    - #### connectGPAndMLSegments

          private void connectGPAndMLSegments()

      Connect parallel GP and ML segments

    - #### disconnectGPAndMLSegments

          private void disconnectGPAndMLSegments()

      Disconnect parallel GP and ML segments

    - #### addSegment

          public java.lang.String addSegment(int index,
                                             int num)

      Add multiple segments
      Parameters:
        `index` - index of the segment to be added, start from 0
        `num` - number of segments to be added
      Returns:
        whether add segment is successful

    - #### _addSegment

          private void _addSegment(int index,
                                   int num,
                                   java.util.ArrayList<GPMLSegment> segments,
                                   int GPMLType)

      Helper for add segments
      Parameters:
        `index` - index of the segment to be added, start from 0
        `num` - number of segments to be added
        `segments` - original segments ArrayList
        `GPMLType` - segment GP/ML type

    - #### delSegment

          public java.lang.String delSegment(int fromIndex,
                                             int toIndex)

      Delete multiple segments
      Parameters:
        `fromIndex` - index of the first segment (inclusive) to be deleted, start from 0
        `toIndex` - index of the last segment (inclusive) to be deleted, start from 0
      Returns:
        whether delete segment is successful

    - #### _delSegment

          private void _delSegment(int fromIndex,
                                   int toIndex,
                                   java.util.ArrayList<GPMLSegment> segments)

      Helper for delete segments
      Parameters:
        `fromIndex` - index of the first segment (inclusive) to be deleted, start from 0
        `toIndex` - index of the last segment (inclusive) to be deleted, start from 0
        `segments` - original segments ArrayList

    - #### reindexSegment

          private void reindexSegment(java.util.ArrayList<GPMLSegment> segments)

      Renumbering segments
      Parameters:
        `segments` - original segments ArrayList

    - #### addPeriod

          public java.lang.String addPeriod(int numPeriodToBeAdded,
                                            boolean isAtBeginning)

      Add one or more analysis periods
      Parameters:
        `numPeriodToBeAdded` - number of analysis periods to be added
        `isAtBeginning` - whether add these new analysis periods at the beginning (true) or at the end (false)
      Returns:
        whether add period is successful

    - #### _addPeriod

          private void _addPeriod(GPMLSegment segment,
                                  int numPeriodToBeAdded,
                                  boolean isAtBeginning)

      Helper for add one or more analysis periods
      Parameters:
        `segment` - original segment
        `numPeriodToBeAdded` - number of analysis periods to be added
        `isAtBeginning` - whether add these new analysis periods at the beginning (true) or at the end (false)

    - #### delPeriod

          public java.lang.String delPeriod(int numPeriodToBeDeleted,
                                            boolean isFromBeginning)

      Delete one or more analysis periods
      Parameters:
        `numPeriodToBeDeleted` - number of analysis periods to be deleted
        `isFromBeginning` - whether delete these new analysis periods from the beginning (true) or from the end (false)
      Returns:
        whether delete period is successful

    - #### _delPeriod

          private void _delPeriod(GPMLSegment segment,
                                  int numPeriodToBeDeleted,
                                  boolean isFromBeginning)

      Delete one or more analysis periods
      Parameters:
        `segment` - original segment
        `numPeriodToBeDeleted` - number of analysis periods to be deleted
        `isFromBeginning` - whether delete these new analysis periods from the beginning (true) or from the end (false)

    - #### singleRun

          public int singleRun(int scen,
                               int atdm)

      Perform a single run for the base case or a particular RL scenario or an ATDM scenario
      Parameters:
        `scen` - scenario index (0 is the default scenario, 1 is the first generated scenario)
        `atdm` - ATDM set index (0 is the first one, -1 means run without ATDM)
      Returns:
        whether analysis is successful

    - #### preprocess

          private void preprocess(int scen,
                                  int atdm)

      Preprocess for a particular scenario, will trigger memory location and global preprocess if necessary
      Parameters:
        `scen` - scenario index (0 is the default scenario, 1 is the first generated scenario)ƒ
        `atdm` - ATDM set index

    - #### locateMemory

          private void locateMemory()

      Locate memory for seed and segments

    - #### locateSummaryMemory

          private void locateSummaryMemory()

      Create memory space for summary result

    - #### configAccessSegment

          private void configAccessSegment(GPMLSegment seg)

      Configure parameters for access segment
      Parameters:
        `seg` - access segment

    - #### analyze

          private void analyze(int scen,
                               int atdm)

      Analyze a particular scenario using under saturated or over saturated method
      Parameters:
        `scen` - scenario index (0 is the default scenario, 1 is the first generated scenario)
        `atdm` - ATDM set index

    - #### isUnderSatGP

          private boolean isUnderSatGP(int scen,
                                       int atdm,
                                       int period)

      Check whether a particular period in a particular scenario is under saturated or over saturated
      Parameters:
        `period` - analysis period index (0 is the first analysis period)
      Returns:
        whether a particular period in a particular scenario is under saturated (true) or over saturated (false)

    - #### isUnderSatML

          private boolean isUnderSatML(int scen,
                                       int atdm,
                                       int period)

      Check whether a particular period in a particular scenario is under saturated or over saturated
      Parameters:
        `period` - analysis period index (0 is the first analysis period)
      Returns:
        whether a particular period in a particular scenario is under saturated (true) or over saturated (false)

    - #### isSegmentUnderSat

          private boolean isSegmentUnderSat(GPMLSegment segment,
                                            int scen,
                                            int atdm,
                                            int period)

      Helper for check whether a particular segment in a particular period in a particular scenario is under saturated or over saturated
      Parameters:
        `segment` - segment to be checked
        `period` - analysis period index (0 is the first analysis period)
      Returns:
        whether a particular period in a particular scenario is under saturated (true) or over saturated (false)

    - #### testATDM

          public FacilitySummary testATDM(ATDMScenario[] atdmScenario,
                                          int scen)

      Test an ATDM plans on a particular scenario
      Parameters:
        `atdmScenario` - the set of ATDM plans to be tested
        `scen` - scenario index (0 for seed, RL scenarios start with 1)
      Returns:
        Facility summary of each ATDM plan

    - #### summary

          private void summary(int scen,
                               int atdm)

      generate summary result for a particular scenario
      Parameters:
        `scen` - scenario index (0 is the default scenario, 1 is the first generated scenario)
        `atdm` - ATDM set index

    - #### resetSummary

          private void resetSummary(java.lang.String scenATDM)

      Delete previous summary result for a particular scenario
      Parameters:
        `scenATDM` - scenario index and ATDM set index in String

    - #### sumMLQueue

          private float sumMLQueue(int period)

      Sum the length of mainline queue for a particular period in a particular scenario
      Parameters:
        `period` - analysis period index (0 is the first analysis period)
      Returns:
        sum of the length of mainline queue in ft

    - #### sumONRQueue

          private float sumONRQueue(int period)

      Sum the length of on ramp queue for a particular period in a particular scenario
      Parameters:
        `period` - analysis period index (0 is the first analysis period)
      Returns:
        sum of the length of on ramp queue in ft

    - #### funcFacilityDensityLOS

          private java.lang.String funcFacilityDensityLOS(float density_pc,
                                                          float demandCapacityRatio)

      Calculate facility density based level of service in each period.
      Parameters:
        `density_pc` - facility density in pc/mi/ln
        `demandCapacityRatio` - demand over capacity ratio
      Returns:
        density based level of service

    - #### setValue

          public void setValue(java.lang.String ID,
                               java.lang.Object value,
                               int seg,
                               int period,
                               int scen,
                               int atdm)

      Set value to a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `value` - value to be assigned
        `seg` - segment index (0 is the first segment)
        `period` - analysis period index (0 is the first analysis period)
        `scen` - scenario index
        `atdm` - ATDM set index

    - #### setValue

          public void setValue(java.lang.String ID,
                               java.lang.Object value,
                               int seg,
                               int period)

      Set value to a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `value` - value to be assigned
        `seg` - segment index (0 is the first segment)
        `period` - analysis period index (0 is the first analysis period)

    - #### setValue

          public void setValue(java.lang.String ID,
                               java.lang.Object value,
                               int seg)

      Set value to a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `value` - value to be assigned
        `seg` - segment index (0 is the first segment)

    - #### setValue

          public void setValue(java.lang.String ID,
                               java.lang.Object value)

      Set value to a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `value` - value to be assigned

    - #### getValueInt

          public int getValueInt(java.lang.String ID,
                                 int seg,
                                 int period,
                                 int scen,
                                 int atdm)

      Get an integer value from a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `seg` - segment index (0 is the first segment)
        `period` - analysis period index (0 is the first analysis period)
        `scen` - scenario index (0 is the default scenario, 1 is the first generated scenario)
        `atdm` - ATDM set index
      Returns:
        an integer value from a data field in this Seed object or in one of the GPSegments

    - #### getValueInt

          public int getValueInt(java.lang.String ID,
                                 int seg,
                                 int period)

      Get an integer value from a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `seg` - segment index (0 is the first segment)
        `period` - analysis period index (0 is the first analysis period)
      Returns:
        an integer value from a data field in this Seed object or in one of the GPSegments

    - #### getValueInt

          public int getValueInt(java.lang.String ID,
                                 int seg)

      Get an integer value from a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `seg` - segment index (0 is the first segment)
      Returns:
        an integer value from a data field in this Seed object or in one of the GPSegments

    - #### getValueInt

          public int getValueInt(java.lang.String ID)

      Get an integer value from a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
      Returns:
        an integer value from a data field in this Seed object or in one of the GPSegments

    - #### getValueFloat

          public float getValueFloat(java.lang.String ID,
                                     int seg,
                                     int period,
                                     int scen,
                                     int atdm)

      Get a float value from a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `seg` - segment index (0 is the first segment)
        `period` - analysis period index (0 is the first analysis period)
        `scen` - scenario index (0 is the default scenario, 1 is the first generated scenario)
        `atdm` - ATDM scenario
      Returns:
        a float value from a data field in this Seed object or in one of the GPSegments

    - #### getValueFloat

          public float getValueFloat(java.lang.String ID,
                                     int seg,
                                     int period)

      Get a float value from a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `seg` - segment index (0 is the first segment)
        `period` - analysis period index (0 is the first analysis period)
      Returns:
        a float value from a data field in this Seed object or in one of the GPSegments

    - #### getValueFloat

          public float getValueFloat(java.lang.String ID,
                                     int seg)

      Get a float value from a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `seg` - segment index (0 is the first segment)
      Returns:
        a float value from a data field in this Seed object or in one of the GPSegments

    - #### getValueFloat

          public float getValueFloat(java.lang.String ID)

      Get a float value from a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
      Returns:
        a float value from a data field in this Seed object or in one of the GPSegments

    - #### getValueString

          public java.lang.String getValueString(java.lang.String ID,
                                                 int seg,
                                                 int period,
                                                 int scen,
                                                 int atdm)

      Get a String value from a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `seg` - segment index (0 is the first segment)
        `period` - analysis period index (0 is the first analysis period)
        `scen` - scenario index (0 is the default scenario, 1 is the first generated scenario)
        `atdm` - ATDM set index
      Returns:
        a String value from a data field in this Seed object or in one of the GPSegments

    - #### getValueString

          public java.lang.String getValueString(java.lang.String ID,
                                                 int seg,
                                                 int period)

      Get a String value from a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `seg` - segment index (0 is the first segment)
        `period` - analysis period index (0 is the first analysis period)
      Returns:
        a String value from a data field in this Seed object or in one of the GPSegments

    - #### getValueString

          public java.lang.String getValueString(java.lang.String ID,
                                                 int seg)

      Get a String value from a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
        `seg` - segment index (0 is the first segment)
      Returns:
        a String value from a data field in this Seed object or in one of the GPSegments

    - #### getValueString

          public java.lang.String getValueString(java.lang.String ID)

      Get a String value from a data field in this Seed object or in one of the GPSegments
      Parameters:
        `ID` - identifier of the data field
      Returns:
        a String value from a data field in this Seed object or in one of the GPSegments

    - #### setRLScenarios

          public java.lang.String setRLScenarios(Scenario scenariosGP,
                                                 Scenario scenariosML,
                                                 java.util.ArrayList<ScenarioInfo> scenarioInfo)

      Assign generated 2-D RL scenarios to GPSegments
      Parameters:
        `scenariosGP` - generated 2-D RL scenarios for GP segments [numSegments][numScenarios] (Do NOT include default scenario)
        `scenariosML` - generated 2-D RL scenarios for ML segments (null if not applicable) [numSegments][numScenarios] (Do NOT include default scenario)
        `scenarioInfo` - reliability analysis scenario information
      Returns:
        whether setting scenarios is successful

    - #### getRLRNGSeed

          public java.lang.Long getRLRNGSeed()

      Get random number seed for RL scenario generation
      Returns:
        random number seed for RL scenario generation

    - #### setRLRNGSeed

          public void setRLRNGSeed(long newVal)

      Sets the value of the random number generator seed as newVal.
      Parameters:
        `newVal` - new random number seed for RL scenario generation

    - #### getStartTime

          public CETime getStartTime()

      Getter for analysis period start time
      Returns:
        analysis period start time

    - #### getEndTime

          public CETime getEndTime()

      Getter for analysis period end time
      Returns:
        analysis period end time

    - #### getSeedFileDate

          public CEDate getSeedFileDate()

      Getter for seed file date
      Returns:
        seed file date

    - #### setSeedFileDate

          public void setSeedFileDate(CEDate seedFileDate)

      Setter for seed file date
      Parameters:
        `seedFileDate` - seed file date

    - #### getRRPStartDate

          public CEDate getRRPStartDate()

      Getter for reliability analysis start date
      Returns:
        reliability analysis start date

    - #### setRRPStartDate

          public void setRRPStartDate(CEDate RRPStartDate)

      Setter for reliability analysis start date
      Parameters:
        `RRPStartDate` - reliability analysis start date

    - #### getRRPEndDate

          public CEDate getRRPEndDate()

      Getter for reliability analysis end date
      Returns:
        reliability analysis end date

    - #### setRRPEndDate

          public void setRRPEndDate(CEDate RRPEndDate)

      Setter for reliability analysis end date
      Parameters:
        `RRPEndDate` - reliability analysis end date

    - #### getRLScenarioInfo

          public java.util.ArrayList<ScenarioInfo> getRLScenarioInfo()

      Getter for reliability analysis scenario information
      Returns:
        reliability analysis scenario information

    - #### getRLScenarioGP

          public Scenario getRLScenarioGP()

      Getter for reliability analysis GP Scenarios
      Returns:
        Reliability analysis GP scenarios

    - #### getRLScenarioML

          public Scenario getRLScenarioML()

      Getter for reliability analysis ML Scenarios
      Returns:
        Reliability analysis ML scenarios

    - #### getSpecifiedGPDemand

          public float[][] getSpecifiedGPDemand()

      Getter for specified demand
      Returns:
        specified demand

    - #### setSpecifiedGPDemand

          public void setSpecifiedGPDemand(float[][] specifiedDemand)

      Setter for specified demand
      Parameters:
        `specifiedDemand` - specified demand

    - #### getSpecifiedMLDemand

          public float[][] getSpecifiedMLDemand()

      Getter for specified demand
      Returns:
        specified demand

    - #### setSpecifiedMLDemand

          public void setSpecifiedMLDemand(float[][] specifiedDemand)

      Setter for specified demand
      Parameters:
        `specifiedDemand` - specified demand

    - #### getWeekdayUsed

          public boolean[] getWeekdayUsed()

      Getter for weekday used in reliability analysis
      Returns:
        weekday used in reliability analysis

    - #### setWeekdayUsed

          public void setWeekdayUsed(boolean[] weekdayUsed)

      Setter for weekday used in reliability analysis
      Parameters:
        `weekdayUsed` - weekday used in reliability analysis

    - #### getDayExcluded

          public java.util.ArrayList<CEDate> getDayExcluded()

      Getter for weekday excluded in reliability analysis
      Returns:
        weekday excluded in reliability analysis

    - #### setDayExcluded

          public void setDayExcluded(java.util.ArrayList<CEDate> dayExcluded)

      Setter for weekday excluded in reliability analysis
      Parameters:
        `dayExcluded` - weekday excluded in reliability analysis

    - #### getWeatherProbability

          public float[][] getWeatherProbability()

      Getter for weather probability
      Returns:
        weather probability

    - #### setWeatherProbability

          public void setWeatherProbability(float[][] weatherProbability)

      Setter for weather probability
      Parameters:
        `weatherProbability` - weather probability

    - #### getWeatherAverageDuration

          public float[] getWeatherAverageDuration()

      Getter for weather average duration
      Returns:
        weather average duration

    - #### setWeatherAverageDuration

          public void setWeatherAverageDuration(float[] weatherAverageDuration)

      Setter for weather average duration
      Parameters:
        `weatherAverageDuration` - weather average duration

    - #### getWeatherCAF

          public float[] getWeatherCAF()

      Getter for weather capacity adjustment factors.
      Returns:
        Array of weather capacity adjustment factors.

    - #### setWeatherCAF

          public void setWeatherCAF(float[] RL_WeatherCAF)

      Setter for weather capacity adjustment factors.
      Parameters:
        `RL_WeatherCAF` - Array of weather capacity adjustment factors.

    - #### getWeatherDAF

          public float[] getWeatherDAF()

      Getter for weather demand adjustment factors.
      Returns:
        Array of weather demand adjustment factors.

    - #### setWeatherDAF

          public void setWeatherDAF(float[] RL_WeatherDAF)

      Setter for weather demand adjustment factors.
      Parameters:
        `RL_WeatherDAF` - Array of weather demand adjustment factors.

    - #### getWeatherSAF

          public float[] getWeatherSAF()

      Getter for weather speed adjustment factors.
      Returns:
        Array of weather speed adjustment factors.

    - #### setWeatherSAF

          public void setWeatherSAF(float[] RL_WeatherSAF)

      Setter for weather speed adjustment factors.
      Parameters:
        `RL_WeatherSAF` - Array of weather speed adjustment factors.

    - #### isFreeFlowSpeedKnown

          public boolean isFreeFlowSpeedKnown()

      Getter for whether free flow speed is known
      Returns:
        whether free flow speed is known

    - #### setFreeFlowSpeedKnown

          public void setFreeFlowSpeedKnown(boolean freeFlowSpeedKnown)

      Setter for whether free flow speed is known
      Parameters:
        `freeFlowSpeedKnown` - whether free flow speed is known

    - #### getWeatherLocation

          public java.lang.String getWeatherLocation()

      Getter for weather location
      Returns:
        weather location

    - #### setWeatherLocation

          public void setWeatherLocation(java.lang.String weatherLocation)

      Setter for weather location
      Parameters:
        `weatherLocation` - weather location

    - #### getGPIncidentFrequency

          public float[] getGPIncidentFrequency()

      Getter for GP incident frequency
      Returns:
        incident frequency

    - #### setGPIncidentFrequency

          public void setGPIncidentFrequency(float[] incidentFrequency)

      Setter for GP incident frequency
      Parameters:
        `incidentFrequency` - incident frequency

    - #### getGPIncidentDuration

          public float[][] getGPIncidentDuration()

      Getter for GP incident duration
      Returns:
        incident duration

    - #### setGPIncidentDuration

          public void setGPIncidentDuration(float[][] incidentDuration)

      Setter for GP incident duration
      Parameters:
        `incidentDuration` - incident duration

    - #### getGPIncidentDistribution

          public float[] getGPIncidentDistribution()

      Getter for GP incident severity distribution
      Returns:
        GP incident severity distribution

    - #### setGPIncidentDistribution

          public void setGPIncidentDistribution(float[] incidentDistribution)

      Setter for GP incident severity distribution.
      Parameters:
        `incidentDistribution` - GP incident severity distribution

    - #### getGPIncidentCAF

          public float[][] getGPIncidentCAF()

      Getter for GP incident CAF
      Returns:
        incident CAF

    - #### setGPIncidentCAF

          public void setGPIncidentCAF(float[][] incidentCAF)

      Setter for GP incident CAF
      Parameters:
        `incidentCAF` - incident CAF

    - #### getGPIncidentDAF

          public float[][] getGPIncidentDAF()

      Getter for GP incident DAF
      Returns:
        incident DAF

    - #### setGPIncidentDAF

          public void setGPIncidentDAF(float[][] incidentDAF)

      Setter for GP incident DAF
      Parameters:
        `incidentDAF` - incident DAF

    - #### getGPIncidentSAF

          public float[][] getGPIncidentSAF()

      Getter for GP incident SAF
      Returns:
        incident SAF

    - #### setGPIncidentSAF

          public void setGPIncidentSAF(float[][] incidentSAF)

      Setter for GP incident SAF
      Parameters:
        `incidentSAF` - incident SAF

    - #### getGPIncidentLAF

          public int[][] getGPIncidentLAF()

      Getter for GP incident LAF
      Returns:
        incident LAF

    - #### setGPIncidentLAF

          public void setGPIncidentLAF(int[][] incidentLAF)

      Setter for GP incident LAF
      Parameters:
        `incidentLAF` - incident LAF

    - #### getGPIncidentCrashRatio

          public float getGPIncidentCrashRatio()

      Getter for GP incident crash ratio
      Returns:
        incident crash ratio

    - #### setGPIncidentCrashRatio

          public void setGPIncidentCrashRatio(float incidentCrashRatio)

      Setter for GP incident crash ratio
      Parameters:
        `incidentCrashRatio` - incident crash ratio

    - #### getMLIncidentFrequency

          public float[] getMLIncidentFrequency()

      Getter for ML incident frequency
      Returns:
        incident frequency

    - #### setMLIncidentFrequency

          public void setMLIncidentFrequency(float[] incidentFrequency)

      Setter for ML incident frequency
      Parameters:
        `incidentFrequency` - incident frequency

    - #### getMLIncidentDuration

          public float[][] getMLIncidentDuration()

      Getter for ML incident duration
      Returns:
        incident duration

    - #### setMLIncidentDuration

          public void setMLIncidentDuration(float[][] incidentDuration)

      Setter for ML incident duration
      Parameters:
        `incidentDuration` - incident duration

    - #### getMLIncidentDistribution

          public float[] getMLIncidentDistribution()

      Getter for ML incident severity distribution
      Returns:
        ML incident severity distribution

    - #### setMLIncidentDistribution

          public void setMLIncidentDistribution(float[] incidentDistribution)

      Setter for ML incident severity distribution.
      Parameters:
        `incidentDistribution` - ML incident severity distribution

    - #### getMLIncidentCAF

          public float[][] getMLIncidentCAF()

      Getter for ML incident CAF
      Returns:
        incident CAF

    - #### setMLIncidentCAF

          public void setMLIncidentCAF(float[][] incidentCAF)

      Setter for ML incident CAF
      Parameters:
        `incidentCAF` - incident CAF

    - #### getMLIncidentDAF

          public float[][] getMLIncidentDAF()

      Getter for ML incident DAF
      Returns:
        incident DAF

    - #### setMLIncidentDAF

          public void setMLIncidentDAF(float[][] incidentDAF)

      Setter for ML incident DAF
      Parameters:
        `incidentDAF` - incident DAF

    - #### getMLIncidentSAF

          public float[][] getMLIncidentSAF()

      Getter for ML incident SAF
      Returns:
        incident SAF

    - #### setMLIncidentSAF

          public void setMLIncidentSAF(float[][] incidentSAF)

      Setter for ML incident SAF
      Parameters:
        `incidentSAF` - incident SAF

    - #### getMLIncidentLAF

          public int[][] getMLIncidentLAF()

      Getter for ML incident LAF
      Returns:
        incident LAF

    - #### setMLIncidentLAF

          public void setMLIncidentLAF(int[][] incidentLAF)

      Setter for ML incident LAF
      Parameters:
        `incidentLAF` - incident LAF

    - #### getMLIncidentCrashRatio

          public float getMLIncidentCrashRatio()

      Getter for ML incident crash ratio
      Returns:
        incident crash ratio

    - #### setMLIncidentCrashRatio

          public void setMLIncidentCrashRatio(float incidentCrashRatio)

      Setter for ML crash ration
      Parameters:
        `incidentCrashRatio` - incident crash ratio

    - #### getRLWorkZones

          public java.util.ArrayList<WorkZone> getRLWorkZones()

      Getter for list of Work Zones
      Returns:
        list of Work Zones

    - #### setRLWorkZones

          public void setRLWorkZones(java.util.ArrayList<WorkZone> RL_WorkZones)

      Setter for list of Work Zones
      Parameters:
        `RL_WorkZones` - list of Work Zones

    - #### setATDMDatabase

          public void setATDMDatabase(ATDMDatabase newDB)

      Setter for ATDM database
      Parameters:
        `newDB` - ATDM database

    - #### getATDMDatabase

          public ATDMDatabase getATDMDatabase()

      Getter for ATDM database
      Returns:
        ATDM database

    - #### getTTI_Value

          public float[] getTTI_Value()

      Getter for TTI
      Returns:
        TTI

    - #### setTTI_Value

          public void setTTI_Value(float[] TTI_Value)

      Setter for TTI
      Parameters:
        `TTI_Value` - TTI

    - #### getRampMetering

          public RMHelper getRampMetering(int scen,
                                          int atdm,
                                          int segType)

      Getter for comprehensive ramp metering information
      Parameters:
        `scen` - scenario index
        `atdm` - ATDM index
        `segType` - segment GP/ML type
      Returns:
        comprehensive ramp metering information

    - #### enableForceOversat

          public void enableForceOversat(boolean val)

      Sets whether the oversaturated module is forced to be used for all periods. If the value is true, the oversaturated module will be used for the analysis of all periods. If the value is false, the CoreEngine will switch between undersaturated and oversaturated as needed.
      Parameters:
        `val` - True if the CoreEngine should force the use of the oversaturated module for all periods, false if the CoreEngine is allowed to switch between under and oversaturated as needed.

    - #### isManagedLaneUsed

          public boolean isManagedLaneUsed()

      Getter for whether managed lane is used
      Returns:
        whether managed lane is used

    - #### setManagedLaneUsed

          public void setManagedLaneUsed(boolean managedLaneUsed)

      Setter for whether managed lane is used
      Parameters:
        `managedLaneUsed` - whether managed lane is used

    - #### reduceMLMemory

          private void reduceMLMemory()

      Free managed lane memory

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### debugCheckOutput

          private void debugCheckOutput()

      Check whether output is valid (for debug only)

    - #### resetSeedToInputOnly

          public void resetSeedToInputOnly()

      Reset seed status (must be called) after read from file since output data in not stored on disk

    - #### checkInBuffer

          private void checkInBuffer(int scen,
                                     int atdm)

      Check whether a scenario/ATDM is in output buffer
      Parameters:
        `scen` - scenario index
        `atdm` - ATDM set index

    - #### fireDataChanged

          private void fireDataChanged(int changeType)

      Modify seed when seed data changes
      Parameters:
        `changeType` - change type

    - #### _resetBuffer

          private void _resetBuffer()

      Reset result buffer to null

    - #### _deleteRLScenarios

          private void _deleteRLScenarios()

      Helper for delete RL scenarios

    - #### cleanScenarios

          public void cleanScenarios()

      Delete all generated scenarios (not include default scenario)

    - #### extrapolateRampTruckPCT

          public void extrapolateRampTruckPCT()

    - #### shiftTimePeriod

          public void shiftTimePeriod(CETime newStart,
                                      CETime newEnd)

    - #### addRampMeteringALINEAData

          public void addRampMeteringALINEAData(java.lang.String key,
                                                RampMeteringALINEAData newData)

      Add ALINEA Adaptive Ramp Metering Data
      Parameters:
        `key` - key string for the scheme
        `newData` - data for the scheme

    - #### addRampMeteringFuzzyData

          public void addRampMeteringFuzzyData(java.lang.String key,
                                               RampMeteringFuzzyData newData)

      Add Fuzzy Adaptive Ramp Metering Data
      Parameters:
        `key` - key string for the scheme
        `newData` - data for the scheme

    - #### removeRampMeteringALINEAData

          public void removeRampMeteringALINEAData(java.lang.String key)

      Remove ALINEA Adaptive Ramp Metering Data
      Parameters:
        `key` - key string for the scheme

    - #### removeRampMeteringFuzzyData

          public void removeRampMeteringFuzzyData(java.lang.String key)

      Remove Fuzzy Adaptive Ramp Metering Data
      Parameters:
        `key` - key string for the scheme

    - #### getRampMeteringALINEAData

          public java.util.TreeMap<java.lang.String,RampMeteringALINEAData> getRampMeteringALINEAData()

      Getter for ALINEA Adaptive Ramp Metering Data
      Returns:
        data for the scheme

    - #### getRampMeteringFuzzyData

          public java.util.TreeMap<java.lang.String,RampMeteringFuzzyData> getRampMeteringFuzzyData()

      Getter for Fuzzy Adaptive Ramp Metering Data
      Returns:
        data for the scheme