49 if (TYChemin::operator!=(other))
69 double Gs,
double Gm,
double Gr)
77 tabEtapes[0]._Absorption;
88 tabEtapes[0]._Absorption;
91 for (i = 1; i < tabEtapes.size(); i++)
96 tabEtapes[i]._Absorption);
108 const OPoint3D& R,
double a,
double h,
123 for (
unsigned int i = 0; i < TY_SPECTRE_OCT_NB_ELMT; i++)
180 bool bHasIntermediateZone = dp > 30 * (hs + hr);
183 if (bHasIntermediateZone)
185 q = 1 - 30 * (hs + hr) / dp;
200 double a = 1.5 + 3.0 * exp(-0.12 * (h - 5) * (h - 5)) * (1 - exp(-dp / 50.0)) +
201 5.7 * exp(-0.09 * h * h) * (1 - exp(-2.8 * pow(10, -6) * dp * dp));
202 double b = 1.5 + 8.6 * exp(-0.09 * h * h) * (1 - exp(-dp / 50.0));
203 double c = 1.5 + 14.0 * exp(-0.46 * h * h) * (1 - exp(-dp / 50.0));
204 double d = 1.5 + 5.0 * exp(-0.9 * h * h) * (1 - exp(-dp / 50.0));
206 const double As[9]{-1.5, -1.5, -1.5 + G * a, -1.5 + G * b, -1.5 + G *
c,
207 -1.5 + G * d, -1.5 * (1 - G), -1.5 * (1 - G), -1.5 * (1 - G)};
216 const double Am[9]{-3.0 * q, -3.0 * q, -3 * q * (1 - Gm),
217 -3 * q * (1 - Gm), -3 * q * (1 - Gm), -3 * q * (1 - Gm),
218 -3 * q * (1 - Gm), -3 * q * (1 - Gm), -3 * q * (1 - Gm)};
227 double hr,
double dp)
const
229 return Agr_s + Agr_r + Agr_m;
236 return allWavelengthsAreReflected;
Representation of one of the most optimal path between source and receptor: S—>R Specific derivation ...
std::deque< TYEtape9613Solver > TYTabEtape9613Solver
TYEtape collection.
Class for the definition of atmospheric conditions.
OSpectreOctave compute_length_absorption_oct(double length) const
double * getTabValReel() override
Get an array of the real values of the spectrum.
Representation of one of the most optimal path between source and receptor: S—>R. The class TYChemin ...
bool operator!=(const TYChemin9613Solver &other) const
Operator !=.
bool operator==(const TYChemin9613Solver &other) const
Operator ==.
OSpectreOctave calcGroundAttenuationM(double q, double Gm)
TYChemin9613Solver & operator=(const TYChemin9613Solver &other)
Operator =.
void calcGroundAttenuations(double distance, double hs, double hr, double Gs, double Gm, double Gr)
~TYChemin9613Solver() override
Destructor.
OSpectreOctave calcGroundAttenuationSR(double dp, double h, double G)
std::map< TYTypeAttenuation, OSpectreOctave > _attenuations
Attenuations spectra of the path.
void setAttenuationBarWhenNoPath(bool vertical, bool left)
Set attenuation bar to max to traduce the lack of diffracted ray on this path.
OSpectreOctave & getAttenuation(const TYTypeAttenuation type)
Return attenuation of the path of the type.
void calcAttenuation(const TYTabEtape9613Solver &tabEtapes, const AtmosphericConditions &atmos, double dp=0.0, double hs=0.0, double hr=0.0, double Gs=0.5, double Gm=0.5, double Gr=0.5)
Compute the global attenuation on the path.
TYChemin9613Solver()
Constructor.
void computeBarAttenuation(const OSpectreOctave &Dz, const bool vertical, const bool left)
Compute barrier attenuation on the path. It implements recommendation 5.5 of 17534-3 standard,...
virtual OSpectreOctave calcTotalGroundAttenuation(const OSpectreOctave &Agr_s, const OSpectreOctave &Agr_r, const OSpectreOctave &Agr_m, double hs, double hr, double dp) const
Compute total ground attenuation Agr from region ground attenuations and geometric configuration.
virtual OSpectreOctave calcMinimalExtensionConditionOneReflection(const OPoint3D &S, const OPoint3D &O, const OPoint3D &R, double a, double h, const OVector3D &n) const
Evaluate minimal extension condition for a specular reflection on a flat surface in function of the w...
void calcMinimalExtensionCondition(const OPoint3D &S, const OPoint3D &O, const OPoint3D &R, double a, double h, const OVector3D &n)
Evaluate minimal extension condition for specular reflections on flat surfaces in function of the wav...
Representation of one of the most optimal path between source and receptor: S—>R. The class TYChemin ...
TYTypeChemin _typeChemin
Path type (has an influence on the algorithm)
TYChemin & operator=(const TYChemin &other)
Operator =.
void build_eq_path(const T &tabEtapes)
build an acoustic_path from the tab of etapes
double _longueur
Total path length.
This file provides class for solver configuration.