NMPB08 Shared Libraries
Public Member Functions | Protected Member Functions | Protected Attributes
DiffractionNMPB::Diffraction Class Reference

Class used to calculate diffraction attenuation. More...

#include <Diffraction.h>

List of all members.

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

Detailed Description

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.


Constructor & Destructor Documentation

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.

Parameters:
terrainItemsThe terrain items
freqCenter frequency
freqPosThe frequency position in the spectrum array
withEmbankmentTrue 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)

Exceptions:
ERRFrequency

section 9.4 p.44-50

Parameters:
terrainItemsThe terrain items
freqCenter frequency
freqPosThe frequency position in the spectrum array
withEmbankmentTrue 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)

Exceptions:
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.

Parameters:
terrainItemsthe terrain items
freqcenter frequency
freqPosThe frequency position in the spectrum array
nbSideDiffractionsthe 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)

Exceptions:
ERRFrequencysection 9.4.5 p.51
Parameters:
terrainItemsthe terrain items
freqcenter frequency
freqPosThe frequency position in the spectrum array
nbSideDiffractionsthe 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)

Exceptions:
ERRFrequency

Definition at line 425 of file Diffraction.cpp.


Member Function Documentation

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)

Parameters:
withChif 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.

Parameters:
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)
Returns:

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)

Parameters:
source2DThe source coordinates
receiver2DThe receiver coordinates
reflectionItemThe vertical reflection screen
Returns:
the calculated retro diffraction

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)

Parameters:
source2DThe source coordinates
receiver2DThe receiver coordinates
screenItemsThe 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)
Returns:
the calculated pure diffraction

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.

Returns:
attenuation due to 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.

Returns:
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.

Returns:
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.

Returns:
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.

Returns:
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.

Returns:
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.

Returns:
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.

Returns:
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.

Returns:
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.

Returns:
attenuation due to embankment for the SO path 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.

Returns:
attenuation due to embankment for the SO path 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.

Returns:
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.

Returns:
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)

Returns:
the path difference for the SR path in favorable conditions

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)

Returns:
the path difference for the SR path in homogeneous conditions

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.

Parameters:
withEmbankmentTrue 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.

Parameters:
terrainItemsThe terrain items
freqPosThe 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.

Parameters:
pointNMPBThe reflection screen
posRefThe reflection position in the elements vector
freqPosThe frequency position in the spectrum array
Returns:
the calculated absorption
Exceptions:
ERRScreenAbsorption

Definition at line 502 of file Diffraction.cpp.


Member Data Documentation

absorption attenuation due to vertical screens

Definition at line 410 of file Diffraction.h.

diffraction attenuation (Adif), in favorable conditions

Definition at line 357 of file Diffraction.h.

diffraction attenuation (Adif), in homogeneous conditions

Definition at line 353 of file Diffraction.h.

Attenuation due to the ground effect for the SO path in favorable conditions.

Definition at line 405 of file Diffraction.h.

Attenuation due to the ground effect for the SO path in homogeneous conditions.

Definition at line 401 of file Diffraction.h.

attenuation due to embankment in source side

Definition at line 377 of file Diffraction.h.

attenuation due to pure diffraction between source S et receiver R, in favorable conditions

Definition at line 365 of file Diffraction.h.

attenuation due to pure diffraction between source S et receiver R, in homogeneous conditions

Definition at line 361 of file Diffraction.h.

attenuation due to receiver ground effect, in favorable conditions

Definition at line 397 of file Diffraction.h.

attenuation due to receiver ground effect, in homogeneous conditions

Definition at line 393 of file Diffraction.h.

attenuation due to source ground effect, in favorable conditions

Definition at line 373 of file Diffraction.h.

attenuation due to source ground effect, in homogeneous conditions

Definition at line 369 of file Diffraction.h.

attenuation due to embankment in source side, in favorable conditions

Definition at line 389 of file Diffraction.h.

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.

Median frequency fm.

Definition at line 309 of file Diffraction.h.

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.

the mean plane between last screen and receiver

Definition at line 327 of file Diffraction.h.

the mean plane between source and first screen

Definition at line 323 of file Diffraction.h.

path differences for the SR path (in favorable conditions)

Definition at line 349 of file Diffraction.h.

path differences for the SR path (in homogeneous conditions)

Definition at line 345 of file Diffraction.h.

Receiver.

Definition at line 301 of file Diffraction.h.

Source.

Definition at line 297 of file Diffraction.h.

Terrain items.

Definition at line 305 of file Diffraction.h.

total distance between diffraction closest to the source and diffraction closest to the receptor (e)

Definition at line 336 of file Diffraction.h.

wavelength (lambda)

Definition at line 332 of file Diffraction.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines