Package org.kigalisim.engine.state
Class ServicingInformation
java.lang.Object
org.kigalisim.engine.state.ServicingInformation
Immutable structure holding servicing (recharge/precharge) population and intensity information.
Provides methods to accumulate servicing parameters with weighted-average intensity calculations. This allows multiple servicing operations to be combined while preserving intensity information through weighted averaging.
-
Constructor Summary
ConstructorsConstructorDescriptionServicingInformation(EngineNumber population, EngineNumber intensity) Create a new ServicingInformation instance. -
Method Summary
Modifier and TypeMethodDescriptionadd(EngineNumber newPopulation, EngineNumber newIntensity) Add population and intensity to this servicing information with weighted-average intensity.Get the servicing intensity.Get the servicing population rate.
-
Constructor Details
-
ServicingInformation
Create a new ServicingInformation instance.- Parameters:
population- The servicing population rate (in %)intensity- The servicing intensity (in kg / unit)
-
-
Method Details
-
getPopulation
Get the servicing population rate.- Returns:
- The population rate in %
-
getIntensity
Get the servicing intensity.- Returns:
- The intensity in kg / unit
-
add
Add population and intensity to this servicing information with weighted-average intensity.Multiple calls accumulate rates (addition) and intensities (weighted-average). Population rates are added, intensities are weighted-averaged using absolute values for weights to handle negative adjustments correctly.
Weighted average formula: (|rate1| × intensity1 + |rate2| × intensity2) / (|rate1| + |rate2|)
- Parameters:
newPopulation- The servicing population rate to addnewIntensity- The servicing intensity for this rate- Returns:
- A new ServicingInformation instance with accumulated values
-