25#define _USE_MATH_DEFINES
55 CEP(
VEHPHEMLightJSON::VEH*
Vehicle, std::vector<std::string>& headerLineFCvalues, std::vector<std::vector<double> >& matrixFCvalues, std::vector<std::string>& headerLinePollutants, std::vector<std::vector<double> >& matrixPollutants, std::vector<double>& idlingFCvalues, std::vector<double>& idlingPollutants);
94 double getFMot(
const double speed,
const double ratedPower,
const double wheelRadius);
134 double CalcEngPower(
double power,
const double ratedPower);
136 double GetEmission(
const std::string& pollutant,
double power,
double speed,
Helpers* VehicleClass,
const double drivingPower,
const double ratedPower);
142 bool CalcfCValMix(
double& _fCBr,
double& _fCHC,
double& _fCCO,
double& _fCCO2,
Helpers* VehicleClass);
145 bool GetfcVals(
const std::string& _fuelTypex,
double& _fCBr,
double& _fCHC,
double& _fCCO,
double& _fCCO2,
Helpers* VehicleClass);
152 void FindLowerUpperInPattern(
int& lowerIndex,
int& upperIndex,
const std::vector<double>& pattern,
double value,
double scale=1.);
154 double Interpolate(
double px,
double p1,
double p2,
double e1,
double e2);
bool GetfcVals(const std::string &_fuelTypex, double &_fCBr, double &_fCHC, double &_fCCO, double &_fCCO2, Helpers *VehicleClass)
void FindLowerUpperInPattern(int &lowerIndex, int &upperIndex, const std::vector< double > &pattern, double value, double scale=1.)
double getWheelRadius() const
double getVehicleMassRot() const
std::map< std::string, std::vector< double > > _normedCepCurveFCvalues
double GetRotationalCoeffecient(double speed)
const double & getRatedPower() const
double getCWValue() const
std::vector< double > _normalizedPowerPatternFCvalues
std::vector< double > _dragNormTable
std::vector< double > _speedCurveRotational
void setCalcType(const std::string &value)
double getResistanceF0() const
void InitializeInstanceFields()
double getFMot(const double speed, const double ratedPower, const double wheelRadius)
double getVehicleLoading() const
double Interpolate(double px, double p1, double p2, double e1, double e2)
double getResistance(const double speed, const double f0) const
double getCrossSectionalArea() const
const bool & getHeavyVehicle() const
void setRatedPower(const double &value)
@ eNormalizingType_RatedPower
@ eNormalizingType_DrivingPower
const std::string & getCalcType() const
std::map< std::string, double > _idlingValuesPollutants
double GetPMaxNorm(double speed)
double getVehicleMass() const
std::vector< double > _speedPatternRotational
std::vector< double > _gearTransmissionCurve
const std::string & getFuelType() const
double getAuxPower() const
double GetEmission(const std::string &pollutant, double power, double speed, Helpers *VehicleClass, const double drivingPower, const double ratedPower)
double _engineIdlingSpeed
double GetCO2Emission(double _FC, double _CO, double _HC, Helpers *VehicleClass)
std::vector< double > _nNormTable
void setFuelType(const std::string &value)
std::map< std::string, std::vector< double > > _cepNormalizedCurvePollutants
double _crossSectionalArea
double _effectiveWheelDiameter
double CalcEngPower(double power, const double ratedPower)
bool CalcfCValMix(double &_fCBr, double &_fCHC, double &_fCCO, double &_fCCO2, Helpers *VehicleClass)
std::vector< double > _normalizedPowerPatternPollutants
std::string privateCalcType
std::map< std::string, double > _idlingValueFCvalues
std::map< std::string, double > _FleetMix
std::string privateFuelType
C++ TraCI client API implementation.