| 617 | } |
| 618 | |
| 619 | std::vector<std::string> UtilityBill_Impl::peakDemandUnitValues() const { |
| 620 | std::vector<std::string> result; |
| 621 | FuelType fuelType = this->fuelType(); |
| 622 | switch (fuelType.value()) { |
| 623 | case FuelType::Electricity: |
| 624 | result.emplace_back("kW"); |
| 625 | result.emplace_back("MW"); |
| 626 | result.emplace_back("W"); |
| 627 | break; |
| 628 | case FuelType::Gas: |
| 629 | break; |
| 630 | case FuelType::Gasoline: |
| 631 | break; |
| 632 | case FuelType::Diesel: |
| 633 | break; |
| 634 | case FuelType::Coal: |
| 635 | break; |
| 636 | case FuelType::FuelOil_1: |
| 637 | break; |
| 638 | case FuelType::FuelOil_2: |
| 639 | break; |
| 640 | case FuelType::Propane: |
| 641 | break; |
| 642 | case FuelType::Water: |
| 643 | break; |
| 644 | case FuelType::Steam: |
| 645 | break; |
| 646 | case FuelType::DistrictCooling: |
| 647 | break; |
| 648 | case FuelType::DistrictHeating: |
| 649 | break; |
| 650 | case FuelType::OtherFuel_1: |
| 651 | break; |
| 652 | case FuelType::OtherFuel_2: |
| 653 | break; |
| 654 | case FuelType::EnergyTransfer: |
| 655 | break; |
| 656 | default: |
| 657 | LOG_AND_THROW("Unknown fuel type '" + fuelType.valueDescription() + "'"); |
| 658 | } |
| 659 | |
| 660 | return result; |
| 661 | } |
| 662 | |
| 663 | OutputMeter UtilityBill_Impl::consumptionMeter() const { |
| 664 | FuelType fuelType = this->fuelType(); |