NMPB08 Shared Libraries
|
Class used to calculate diffraction attenuation. More...
#include <Diffraction.h>
Public Member Functions | |
Diffraction () | |
Initialization of the Diffraction Class. | |
Diffraction (vector< ProfilePointNMPB * > terrainItems, double freq, int freqPos, bool withEmbankment) | |
Initialization of the Diffraction Class. | |
Diffraction (vector< ProfilePointNMPB * > terrainItems, double freq, int freqPos, int nbSideDiffractions) | |
Initialization of the Diffraction Class in side diffraction case. | |
void | ReflectionAttenuation (vector< ProfilePointNMPB * > &terrainItems, int freqPos) |
Calculates the reflection attenuation. | |
void | CalculAttenuationDiffraction (bool withCh=true) |
Calculates attenuation due to diffraction. | |
double | CalculDiffractionPure (Position2D const *source2D, Position2D const *receiver2D, vector< ProfilePointNMPB * > terrainItems, bool favourableConditions, bool totalPath, bool withCh) |
Calculation of the pure diffraction. | |
double | CalculDiffractionPure (Position2D const *source2D, Position2D const *receiver2D, ProfilePointNMPB *reflectionItem) |
Calculation of the retro diffraction in reflection case. | |
double | Get_pathDifferenceSR_h () |
Gets path difference for the SR path, in homogeneous conditions (used to know if diffraction must be calculated) | |
double | Get_pathDifferenceSR_f () |
Gets path difference for the SR path, in favorable conditions (used to know if diffraction must be calculated) | |
double | Get_diffractionAttenuation_h () |
Gets diffraction attenuation (Adif), in homogeneous conditions. | |
double | Get_diffractionAttenuation_f () |
Gets diffraction attenuation (Adif), in favorable conditions. | |
double | Get_DeltaDifSR_h () |
Gets attenuation due to pure diffraction, in homogeneous conditions. | |
double | Get_DeltaDifSR_f () |
Gets attenuation due to pure diffraction, in favorable conditions. | |
double | Get_DeltaSolSO_h () |
Gets attenuation from the ground effect source side, weighted by the diffraction source side, in homogeneous conditions. | |
double | Get_DeltaSolSO_f () |
Gets attenuation from the ground effect source side, weighted by the diffraction source side, in favorable conditions. | |
double | Get_DeltaSolOR_h () |
Gets attenuation from the ground effect receiver side, weighted by the diffraction receiver side, in homogeneous conditions. | |
double | Get_DeltaSolOR_f () |
Gets attenuation from the ground effect receiver side, weighted by the diffraction receiver side, in favorable conditions. | |
double | Get_DeltaTalusSO_h () |
Gets attenuation due to embankment in homogeneous conditions. | |
double | Get_DeltaTalusSO_f () |
Gets attenuation due to embankment in favorable conditions. | |
double | Get_AttsolSO_h () |
Gets attenuation due to the ground effect for the SO path in homogeneous conditions. | |
double | Get_AttsolSO_f () |
Gets attenuation due to the ground effect for the SO path in favorable conditions. | |
double | Get_absorptionAttenuation () |
Gets attenuation due reflection absorption. | |
Protected Member Functions | |
double | SoundAbsorption (ProfilePointNMPB *pointNMBP, int posRef, int freqPos) |
Calculates the sound absorption due to reflection. | |
void | MeanPlanesDataCalculation (bool withEmbankment) |
Calculates data of the 2 mean planes (SO) and (OR), and embankment. | |
double | CalculDeltaSol (double aSol, double deltaDif1, double deltaDif2) |
Calculation of the ground attenuation with diffraction, source side or receiver side. | |
void | ClearData () |
Clear data. | |
Protected Attributes | |
ProfilePointNMPB * | _source |
Source. | |
ProfilePointNMPB * | _receiver |
Receiver. | |
vector< ProfilePointNMPB * > | _terrainItems |
Terrain items. | |
double | _freq |
Median frequency fm. | |
ProfilePointNMPB * | _firstScreen |
the first used screen after source | |
ProfilePointNMPB * | _lastScreen |
the last used screen before receiver | |
MeanPlane | _meanPlaneSO |
the mean plane between source and first screen | |
MeanPlane | _meanPlaneOR |
the mean plane between last screen and receiver | |
double | _wavelength |
wavelength (lambda) | |
double | _totalDiffDist |
total distance between diffraction closest to the source and diffraction closest to the receptor (e) | |
double | _h0 |
higher diffraction edge for the 2 mean planes (source side and receiver side) | |
double | _pathDifferenceSR_h |
path differences for the SR path (in homogeneous conditions) | |
double | _pathDifferenceSR_f |
path differences for the SR path (in favorable conditions) | |
double | _Adif_h |
diffraction attenuation (Adif), in homogeneous conditions | |
double | _Adif_f |
diffraction attenuation (Adif), in favorable conditions | |
double | _DeltaDifSR_h |
attenuation due to pure diffraction between source S et receiver R, in homogeneous conditions | |
double | _DeltaDifSR_f |
attenuation due to pure diffraction between source S et receiver R, in favorable conditions | |
double | _DeltaSolSO_h |
attenuation due to source ground effect, in homogeneous conditions | |
double | _DeltaSolSO_f |
attenuation due to source ground effect, in favorable conditions | |
double | _AttTalusSO |
attenuation due to embankment in source side | |
Position2D | _embankmentSourceImage |
the embankment source image position | |
double | _DeltaTalusSO_h |
attenuation due to embankment in source side, in homogeneous conditions | |
double | _DeltaTalusSO_f |
attenuation due to embankment in source side, in favorable conditions | |
double | _DeltaSolOR_h |
attenuation due to receiver ground effect, in homogeneous conditions | |
double | _DeltaSolOR_f |
attenuation due to receiver ground effect, in favorable conditions | |
double | _aSolSO_h |
Attenuation due to the ground effect for the SO path in homogeneous conditions. | |
double | _aSolSO_f |
Attenuation due to the ground effect for the SO path in favorable conditions. | |
double | _absorptionAttenuation |
absorption attenuation due to vertical screens |
Class used to calculate diffraction attenuation.
Class used to calculate diffraction attenuation with intermediates values and functions ; Contains ground attenuation ; uses PathDifference p. 44-51 - § 9.4
Definition at line 31 of file Diffraction.h.
DiffractionNMPB::Diffraction::Diffraction | ( | ) | [inline] |
Initialization of the Diffraction Class.
Definition at line 38 of file Diffraction.h.
DiffractionNMPB::Diffraction::Diffraction | ( | vector< ProfilePointNMPB * > | terrainItems, |
double | freq, | ||
int | freqPos, | ||
bool | withEmbankment | ||
) |
Initialization of the Diffraction Class.
terrainItems | The terrain items |
freq | Center frequency |
freqPos | The frequency position in the spectrum array |
withEmbankment | True if embankment must be checked |
Initialization of the Diffraction Class with source, receiver, screens and frequency (containing mean planes calculation, SR path difference calculation and reflection attenuation)
ERRFrequency |
section 9.4 p.44-50
terrainItems | The terrain items |
freq | Center frequency |
freqPos | The frequency position in the spectrum array |
withEmbankment | True if embankment must be checked |
Initialization of the Diffraction Class with source, receiver, screens and frequency (containing mean planes calculation, SR path difference calculation and reflection attenuation)
ERRFrequency |
Definition at line 369 of file Diffraction.cpp.
DiffractionNMPB::Diffraction::Diffraction | ( | vector< ProfilePointNMPB * > | terrainItems, |
double | freq, | ||
int | freqPos, | ||
int | nbSideDiffractions | ||
) |
Initialization of the Diffraction Class in side diffraction case.
terrainItems | the terrain items |
freq | center frequency |
freqPos | The frequency position in the spectrum array |
nbSideDiffractions | the side diffractions number |
Initialization of the Diffraction Class in side diffraction case with source, receiver, screens and frequency (containing SR path difference calculation, reflection attenuation and _DeltaDifSR_h calculation)
ERRFrequency | section 9.4.5 p.51 |
terrainItems | the terrain items |
freq | center frequency |
freqPos | The frequency position in the spectrum array |
nbSideDiffractions | the side diffractions number |
Initialization of the Diffraction Class in side diffraction case with source, receiver, screens and frequency (containing SR path difference calculation, reflection attenuation and _DeltaDifSR_h calculation)
ERRFrequency |
Definition at line 425 of file Diffraction.cpp.
void DiffractionNMPB::Diffraction::CalculAttenuationDiffraction | ( | bool | withCh = true | ) |
Calculates attenuation due to diffraction.
Calculates attenuation due to diffraction, with ground effects and embankment p.49 - § 9.4.4 formula (37)
withCh | if true, enables the calculation Ch, the correction term for low height obstacles, if false, Ch is taken equal to 1 |
Calculates attenuation due to diffraction, with ground effects and embankment p.49 - § 9.4.4 formula (37)
Definition at line 796 of file Diffraction.cpp.
double DiffractionNMPB::Diffraction::CalculDeltaSol | ( | double | aSol, |
double | deltaDif1, | ||
double | deltaDif2 | ||
) | [protected] |
Calculation of the ground attenuation with diffraction, source side or receiver side.
aSol | : ground attenuation (source side or receiver side) |
deltaDif1 | : diffraction attenuation during the image path (S'R or SR') |
deltaDif2 | : diffraction attenuation during the real path (SR) |
Definition at line 769 of file Diffraction.cpp.
double DiffractionNMPB::Diffraction::CalculDiffractionPure | ( | Position2D const * | source2D, |
Position2D const * | receiver2D, | ||
ProfilePointNMPB * | reflectionItem | ||
) |
Calculation of the retro diffraction in reflection case.
p.53 - § 9.5.2 Formula (45)
source2D | The source coordinates |
receiver2D | The receiver coordinates |
reflectionItem | The vertical reflection screen |
Definition at line 738 of file Diffraction.cpp.
double DiffractionNMPB::Diffraction::CalculDiffractionPure | ( | Position2D const * | source2D, |
Position2D const * | receiver2D, | ||
vector< ProfilePointNMPB * > | screenItems, | ||
bool | favourableConditions, | ||
bool | totalPath, | ||
bool | withCh | ||
) |
Calculation of the pure diffraction.
p.46 - § 9.4.2 Formula (31)
source2D | The source coordinates |
receiver2D | The receiver coordinates |
screenItems | The screen items |
favourableConditions | : true if conditions are favorable (false if homogeneous) |
totalPath | : true if the calculation is on the total path |
withCh | : true if Ch must be calculated (false if Ch = 1) |
Definition at line 666 of file Diffraction.cpp.
void DiffractionNMPB::Diffraction::ClearData | ( | ) | [inline, protected] |
Clear data.
Definition at line 451 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_absorptionAttenuation | ( | ) | [inline] |
Gets attenuation due reflection absorption.
Definition at line 288 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_AttsolSO_f | ( | ) | [inline] |
Gets attenuation due to the ground effect for the SO path in favorable conditions.
Definition at line 278 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_AttsolSO_h | ( | ) | [inline] |
Gets attenuation due to the ground effect for the SO path in homogeneous conditions.
Definition at line 268 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_DeltaDifSR_f | ( | ) | [inline] |
Gets attenuation due to pure diffraction, in favorable conditions.
Definition at line 198 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_DeltaDifSR_h | ( | ) | [inline] |
Gets attenuation due to pure diffraction, in homogeneous conditions.
Definition at line 188 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_DeltaSolOR_f | ( | ) | [inline] |
Gets attenuation from the ground effect receiver side, weighted by the diffraction receiver side, in favorable conditions.
Definition at line 238 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_DeltaSolOR_h | ( | ) | [inline] |
Gets attenuation from the ground effect receiver side, weighted by the diffraction receiver side, in homogeneous conditions.
Definition at line 228 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_DeltaSolSO_f | ( | ) | [inline] |
Gets attenuation from the ground effect source side, weighted by the diffraction source side, in favorable conditions.
Definition at line 218 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_DeltaSolSO_h | ( | ) | [inline] |
Gets attenuation from the ground effect source side, weighted by the diffraction source side, in homogeneous conditions.
Definition at line 208 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_DeltaTalusSO_f | ( | ) | [inline] |
Gets attenuation due to embankment in favorable conditions.
Definition at line 258 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_DeltaTalusSO_h | ( | ) | [inline] |
Gets attenuation due to embankment in homogeneous conditions.
Definition at line 248 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_diffractionAttenuation_f | ( | ) | [inline] |
Gets diffraction attenuation (Adif), in favorable conditions.
Definition at line 178 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_diffractionAttenuation_h | ( | ) | [inline] |
Gets diffraction attenuation (Adif), in homogeneous conditions.
Definition at line 168 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_pathDifferenceSR_f | ( | ) | [inline] |
Gets path difference for the SR path, in favorable conditions (used to know if diffraction must be calculated)
Definition at line 158 of file Diffraction.h.
double DiffractionNMPB::Diffraction::Get_pathDifferenceSR_h | ( | ) | [inline] |
Gets path difference for the SR path, in homogeneous conditions (used to know if diffraction must be calculated)
Definition at line 148 of file Diffraction.h.
void DiffractionNMPB::Diffraction::MeanPlanesDataCalculation | ( | bool | withEmbankment | ) | [protected] |
Calculates data of the 2 mean planes (SO) and (OR), and embankment.
withEmbankment | True if embankment calculation must be done |
Definition at line 569 of file Diffraction.cpp.
void DiffractionNMPB::Diffraction::ReflectionAttenuation | ( | vector< ProfilePointNMPB * > & | terrainItems, |
int | freqPos | ||
) |
Calculates the reflection attenuation.
terrainItems | The terrain items |
freqPos | The frequency position in the spectrum array |
Definition at line 474 of file Diffraction.cpp.
double DiffractionNMPB::Diffraction::SoundAbsorption | ( | ProfilePointNMPB * | pointNMPB, |
int | posRef, | ||
int | freqPos | ||
) | [protected] |
Calculates the sound absorption due to reflection.
pointNMPB | The reflection screen |
posRef | The reflection position in the elements vector |
freqPos | The frequency position in the spectrum array |
ERRScreenAbsorption |
Definition at line 502 of file Diffraction.cpp.
double DiffractionNMPB::Diffraction::_absorptionAttenuation [protected] |
absorption attenuation due to vertical screens
Definition at line 410 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_Adif_f [protected] |
diffraction attenuation (Adif), in favorable conditions
Definition at line 357 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_Adif_h [protected] |
diffraction attenuation (Adif), in homogeneous conditions
Definition at line 353 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_aSolSO_f [protected] |
Attenuation due to the ground effect for the SO path in favorable conditions.
Definition at line 405 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_aSolSO_h [protected] |
Attenuation due to the ground effect for the SO path in homogeneous conditions.
Definition at line 401 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_AttTalusSO [protected] |
attenuation due to embankment in source side
Definition at line 377 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_DeltaDifSR_f [protected] |
attenuation due to pure diffraction between source S et receiver R, in favorable conditions
Definition at line 365 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_DeltaDifSR_h [protected] |
attenuation due to pure diffraction between source S et receiver R, in homogeneous conditions
Definition at line 361 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_DeltaSolOR_f [protected] |
attenuation due to receiver ground effect, in favorable conditions
Definition at line 397 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_DeltaSolOR_h [protected] |
attenuation due to receiver ground effect, in homogeneous conditions
Definition at line 393 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_DeltaSolSO_f [protected] |
attenuation due to source ground effect, in favorable conditions
Definition at line 373 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_DeltaSolSO_h [protected] |
attenuation due to source ground effect, in homogeneous conditions
Definition at line 369 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_DeltaTalusSO_f [protected] |
attenuation due to embankment in source side, in favorable conditions
Definition at line 389 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_DeltaTalusSO_h [protected] |
attenuation due to embankment in source side, in homogeneous conditions
Definition at line 385 of file Diffraction.h.
the embankment source image position
Definition at line 381 of file Diffraction.h.
the first used screen after source
Definition at line 314 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_freq [protected] |
Median frequency fm.
Definition at line 309 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_h0 [protected] |
higher diffraction edge for the 2 mean planes (source side and receiver side)
Definition at line 340 of file Diffraction.h.
the last used screen before receiver
Definition at line 318 of file Diffraction.h.
MeanPlane DiffractionNMPB::Diffraction::_meanPlaneOR [protected] |
the mean plane between last screen and receiver
Definition at line 327 of file Diffraction.h.
MeanPlane DiffractionNMPB::Diffraction::_meanPlaneSO [protected] |
the mean plane between source and first screen
Definition at line 323 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_pathDifferenceSR_f [protected] |
path differences for the SR path (in favorable conditions)
Definition at line 349 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_pathDifferenceSR_h [protected] |
path differences for the SR path (in homogeneous conditions)
Definition at line 345 of file Diffraction.h.
ProfilePointNMPB* DiffractionNMPB::Diffraction::_receiver [protected] |
Receiver.
Definition at line 301 of file Diffraction.h.
ProfilePointNMPB* DiffractionNMPB::Diffraction::_source [protected] |
Source.
Definition at line 297 of file Diffraction.h.
vector<ProfilePointNMPB*> DiffractionNMPB::Diffraction::_terrainItems [protected] |
Terrain items.
Definition at line 305 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_totalDiffDist [protected] |
total distance between diffraction closest to the source and diffraction closest to the receptor (e)
Definition at line 336 of file Diffraction.h.
double DiffractionNMPB::Diffraction::_wavelength [protected] |
wavelength (lambda)
Definition at line 332 of file Diffraction.h.