coreEngine.atdm.DataStruct

## Class ATDMPlan

- java.lang.Object
- - coreEngine.atdm.DataStruct.ATDMPlan

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

      public class ATDMPlan
      extends java.lang.Object
      implements java.io.Serializable, java.lang.Cloneable

  Author:
    Lake Trask
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.lang.String` | `description` ATDM plan description
    `private boolean` | `hasRampMetering` Whether this ATDM plan has ramp metering
    `private boolean` | `hasShoulderOpening` Whether this ATDM plan has shoulder opening
    `private int` | `id` ATDM plan ID
    `private java.lang.String` | `name` ATDM plan name
    `private static long` | `serialVersionUID` serialVersionUID
    `private java.util.HashMap<ATDMStrategy,java.lang.String>` | `strategies` Strategies contained in this ATDM plan

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ATDMPlan(int id, java.lang.String name)` Constructor of an empty ATDM plan
    `ATDMPlan(int id, java.lang.String name, ATDMPlan basePlan)` Creates a new ATDMPlan instance with all the strategies of the plan specified in the constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addStrategy(java.lang.String strategyType, ATDMStrategy newStrat)`
    `ATDMPlan` | `clone()`
    `private void` | `copyStrategies(ATDMPlan basePlan)`
    `java.util.HashMap<ATDMStrategy,java.lang.String>` | `getAppliedStrategies()`
    `float[][]` | `getATDMadjFactors()`
    `float` | `getCapacityIncreaseDueToRM()`
    `ATDMPlan` | `getDeepCopy()` Returns a deep copy of the ATDMPlan object.
    `java.lang.String` | `getDescription()`
    `float[]` | `getHSRCAF()`
    `float` | `getHSRCAF(int numLanes)`
    `CA2DInt` | `getHSRMatrix()`
    `int` | `getID()`
    `int` | `getIncidentDurationReduction()`
    `java.lang.String` | `getInfo()`
    `java.lang.String` | `getName()`
    `CA2DInt` | `getRMRate()`
    `boolean` | `hasRampMetering()`
    `boolean` | `hasShoulderOpening()`
    `boolean` | `hasStrategy(ATDMStrategy strategy)`
    `void` | `removeStrategy(ATDMStrategy strat)`
    `void` | `setDescription(java.lang.String newDescription)`
    `void` | `setID(int newID)`
    `void` | `setName(java.lang.String newName)`
    `void` | `useRampMetering(boolean val)`
    `void` | `useShoulderOpening(boolean val)`

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

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

- - ### Field Detail

    - #### serialVersionUID

          private static final long serialVersionUID

      serialVersionUID
      See Also:
        Constant Field Values

    - #### id

          private int id

      ATDM plan ID

    - #### name

          private java.lang.String name

      ATDM plan name

    - #### description

          private java.lang.String description

      ATDM plan description

    - #### strategies

          private java.util.HashMap<ATDMStrategy,java.lang.String> strategies

      Strategies contained in this ATDM plan

    - #### hasRampMetering

          private boolean hasRampMetering

      Whether this ATDM plan has ramp metering

    - #### hasShoulderOpening

          private boolean hasShoulderOpening

      Whether this ATDM plan has shoulder opening

  - ### Constructor Detail

    - #### ATDMPlan

          public ATDMPlan(int id,
                          java.lang.String name)

      Constructor of an empty ATDM plan
      Parameters:
        `id` - ATDM plan ID
        `name` - ATDM plan name

    - #### ATDMPlan

          public ATDMPlan(int id,
                          java.lang.String name,
                          ATDMPlan basePlan)

      Creates a new ATDMPlan instance with all the strategies of the plan specified in the constructor.
      Parameters:
        `id` - ATDM plan ID
        `name` - ATDM plan name
        `basePlan` - ATDM plan to be copied from

  - ### Method Detail

    - #### addStrategy

          public void addStrategy(java.lang.String strategyType,
                                  ATDMStrategy newStrat)

      Parameters:
        `strategyType` -
        `newStrat` -

    - #### removeStrategy

          public void removeStrategy(ATDMStrategy strat)

      Parameters:
        `strat` -

    - #### copyStrategies

          private void copyStrategies(ATDMPlan basePlan)

    - #### getName

          public java.lang.String getName()

      Returns:

    - #### getDescription

          public java.lang.String getDescription()

      Returns:

    - #### getInfo

          public java.lang.String getInfo()

      Returns:

    - #### getID

          public int getID()

      Returns:

    - #### getAppliedStrategies

          public java.util.HashMap<ATDMStrategy,java.lang.String> getAppliedStrategies()

      Returns:

    - #### getATDMadjFactors

          public float[][] getATDMadjFactors()

      Returns:

    - #### getIncidentDurationReduction

          public int getIncidentDurationReduction()

      Returns:

    - #### getRMRate

          public CA2DInt getRMRate()

      Returns:

    - #### getHSRMatrix

          public CA2DInt getHSRMatrix()

      Returns:

    - #### getHSRCAF

          public float[] getHSRCAF()

      Returns:

    - #### getHSRCAF

          public float getHSRCAF(int numLanes)

      Parameters:
        `numLanes` -
      Returns:

    - #### getCapacityIncreaseDueToRM

          public float getCapacityIncreaseDueToRM()

      Returns:

    - #### hasStrategy

          public boolean hasStrategy(ATDMStrategy strategy)

      Parameters:
        `strategy` -
      Returns:

    - #### hasRampMetering

          public boolean hasRampMetering()

      Returns:

    - #### hasShoulderOpening

          public boolean hasShoulderOpening()

      Returns:

    - #### setID

          public void setID(int newID)

      Parameters:
        `newID` -

    - #### setName

          public void setName(java.lang.String newName)

      Parameters:
        `newName` -

    - #### setDescription

          public void setDescription(java.lang.String newDescription)

      Parameters:
        `newDescription` -

    - #### useRampMetering

          public void useRampMetering(boolean val)

      Parameters:
        `val` -

    - #### useShoulderOpening

          public void useShoulderOpening(boolean val)

      Parameters:
        `val` -

    - #### getDeepCopy

          public ATDMPlan getDeepCopy()

      Returns a deep copy of the ATDMPlan object. Same as clone (overridden and implemented to be a deep copy in the source code).
      Returns:

    - #### clone

          public ATDMPlan clone()
                         throws java.lang.CloneNotSupportedException

      Overrides:
        `clone` in class `java.lang.Object`
      Throws:
        `java.lang.CloneNotSupportedException`