25#define _USE_MATH_DEFINES
58 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);
123 double CalcPower(
double speed,
double acc,
double gradient,
bool HBEV);
129 double GetEmission(
const std::string& pollutant,
double power,
double speed,
Helpers* VehicleClass);
135 bool CalcfCValMix(
double& _fCBr,
double& _fCHC,
double& _fCCO,
double& _fCCO2,
Helpers* VehicleClass);
138 bool GetfcVals(
const std::string& _fuelTypex,
double& _fCBr,
double& _fCHC,
double& _fCCO,
double& _fCCO2,
Helpers* VehicleClass);
141 double GetDecelCoast(
double speed,
double acc,
double gradient);
149 double Interpolate(
double px,
double p1,
double p2,
double e1,
double e2);
152 double GetMaxAccel(
double speed,
double gradient,
bool HBEV);
bool GetfcVals(const std::string &_fuelTypex, double &_fCBr, double &_fCHC, double &_fCCO, double &_fCCO2, Helpers *VehicleClass)
std::map< std::string, std::vector< double > > _normedCepCurveFCvalues
double GetRotationalCoeffecient(double speed)
const double & getRatedPower() const
void setNormalizingPower(const double &value)
eNormalizingType privateNormalizingType
double CalcPower(double speed, double acc, double gradient, bool HBEV)
double GetDecelCoast(double speed, double acc, double gradient)
std::vector< double > _normalizedPowerPatternFCvalues
const eNormalizingType & getNormalizingType() const
std::vector< double > _dragNormTable
std::vector< double > _speedCurveRotational
void setCalcType(const std::string &value)
std::vector< double > _normailzedPowerPatternPollutants
void InitializeInstanceFields()
double Interpolate(double px, double p1, double p2, double e1, double e2)
std::vector< double > _powerPatternPollutants
double CalcWheelPower(double speed, double acc, double gradient)
const bool & getHeavyVehicle() const
std::vector< double > _powerPatternFCvalues
void setRatedPower(const double &value)
@ eNormalizingType_RatedPower
@ eNormalizingType_DrivingPower
const std::string & getCalcType() const
std::map< std::string, double > _idlingValuesPollutants
double GetPMaxNorm(double speed)
std::vector< double > _speedPatternRotational
double GetMaxAccel(double speed, double gradient, bool HBEV)
std::vector< double > _gearTransmissionCurve
const std::string & getFuelType() const
double getAuxPower() const
void FindLowerUpperInPattern(int &lowerIndex, int &upperIndex, std::vector< double > &pattern, double value)
double privateDrivingPower
void setNormalizingType(const eNormalizingType &value)
double CalcEngPower(double power)
double privateNormalizingPower
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 GetEmission(const std::string &pollutant, double power, double speed, Helpers *VehicleClass)
std::map< std::string, std::vector< double > > _cepCurveFCvalues
const double & getDrivingPower() const
double _crossSectionalArea
double _effectiveWheelDiameter
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)
void setDrivingPower(const double &value)
std::map< std::string, std::vector< double > > _cepCurvePollutants
bool CalcfCValMix(double &_fCBr, double &_fCHC, double &_fCCO, double &_fCCO2, Helpers *VehicleClass)
std::string privateCalcType
std::map< std::string, double > _idlingValueFCvalues
const double & getNormalizingPower() const
std::map< std::string, double > _FleetMix
std::string privateFuelType
C++ TraCI client API implementation.