27 #define _USE_MATH_DEFINES 45 CEP(
bool heavyVehicle,
double vehicleMass,
double vehicleLoading,
double vehicleMassRot,
double crossArea,
double cWValue,
double f0,
double f1,
double f2,
double f3,
double f4,
double axleRatio, std::vector<double>& transmissionGearRatios,
double auxPower,
double ratedPower,
double engineIdlingSpeed,
double engineRatedSpeed,
double effictiveWheelDiameter,
double pNormV0,
double pNormP0,
double pNormV1,
double pNormP1,
const std::string& vehicelFuelType, std::vector<std::vector<double> >& matrixFC, std::vector<std::string>& headerLinePollutants, std::vector<std::vector<double> >& matrixPollutants, std::vector<std::vector<double> >& matrixSpeedRotational, std::vector<std::vector<double> >& normedDragTable,
double idlingFC, std::vector<double>& idlingPollutants);
137 double CalcPower(
double speed,
double acc,
double gradient);
141 double GetEmission(
const std::string& pollutant,
double power,
double speed,
Helpers* VehicleClass);
146 double GetDecelCoast(
double speed,
double acc,
double gradient);
154 double Interpolate(
double px,
double p1,
double p2,
double e1,
double e2);
173 #endif //#ifndef PHEMlightCEP std::vector< double > _speedPatternRotational
double GetEmission(const std::string &pollutant, double power, double speed, Helpers *VehicleClass)
std::vector< double > _normailzedPowerPatternPollutants
std::vector< double > _dragNormTable
std::map< std::string, std::vector< double > > _cepCurvePollutants
void setDrivingPower(const double &value)
double _effectiveWheelDiameter
std::vector< double > _nNormTable
const double & getNormalizingPower() const
void InitializeInstanceFields()
void setRatedPower(const double &value)
double GetRotationalCoeffecient(double speed)
const double & getDrivingPower() const
double _engineIdlingSpeed
std::map< std::string, double > _idlingValuesPollutants
std::vector< double > _normedCepCurveFC
NormalizingType _normalizingType
const double & getRatedPower() const
std::map< std::string, std::vector< double > > _cepNormalizedCurvePollutants
std::vector< double > _normalizedPowerPatternFC
double GetDecelCoast(double speed, double acc, double gradient)
double CalcEngPower(double power)
std::vector< double > _speedCurveRotational
std::vector< double > _gearTransmissionCurve
double GetMaxAccel(double speed, double gradient)
CEP(bool heavyVehicle, double vehicleMass, double vehicleLoading, double vehicleMassRot, double crossArea, double cWValue, double f0, double f1, double f2, double f3, double f4, double axleRatio, std::vector< double > &transmissionGearRatios, double auxPower, double ratedPower, double engineIdlingSpeed, double engineRatedSpeed, double effictiveWheelDiameter, double pNormV0, double pNormP0, double pNormV1, double pNormP1, const std::string &vehicelFuelType, std::vector< std::vector< double > > &matrixFC, std::vector< std::string > &headerLinePollutants, std::vector< std::vector< double > > &matrixPollutants, std::vector< std::vector< double > > &matrixSpeedRotational, std::vector< std::vector< double > > &normedDragTable, double idlingFC, std::vector< double > &idlingPollutants)
std::vector< double > _powerPatternFC
std::vector< double > _cepCurveFC
double GetPMaxNorm(double speed)
const NormalizingType & getNormalizingTypeX() const
double Interpolate(double px, double p1, double p2, double e1, double e2)
const bool & getHeavyVehicle() const
double _crossSectionalArea
std::vector< double > _powerPatternPollutants
double CalcPower(double speed, double acc, double gradient)
const std::string & getFuelType() const
void FindLowerUpperInPattern(int &lowerIndex, int &upperIndex, std::vector< double > &pattern, double value)
double GetCO2Emission(double _FC, double _CO, double _HC, Helpers *VehicleClass)