Code_TYMPAN  4.4.0
Industrial site acoustic simulation
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
TYChemin9613Solver Class Reference

Representation of one of the most optimal path between source and receptor: S—>R. The class TYChemin represents a path between a Source and a receptor (Recepteur class). It's constituted of a collection of steps (TYEtape class). Specific derivation of TYChemin for 9613Solver. More...

#include <TYChemin9613Sover.h>

Inheritance diagram for TYChemin9613Solver:
Inheritance graph
[legend]
Collaboration diagram for TYChemin9613Solver:
Collaboration graph
[legend]

Public Member Functions

 TYChemin9613Solver ()
 Constructor. More...
 
 TYChemin9613Solver (const TYChemin9613Solver &other)
 Copy contructor. More...
 
 ~TYChemin9613Solver () override
 Destructor. More...
 
TYChemin9613Solveroperator= (const TYChemin9613Solver &other)
 Operator =. More...
 
bool operator== (const TYChemin9613Solver &other) const
 Operator ==. More...
 
bool operator!= (const TYChemin9613Solver &other) const
 Operator !=. More...
 
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. More...
 
void computeBarAttenuation (const OSpectreOctave &Dz, const bool vertical, const bool left)
 
OSpectreOctavegetAttenuation (const TYTypeAttenuation type)
 Return attenuation of the path of the type. More...
 
void setAttenuation (const TYTypeAttenuation &type, const OSpectreOctave &att)
 Set the atmospheric attenuation. More...
 
void setAttenuationBarWhenNoPath (bool vertical, bool left)
 Set attenuation bar to max to traduce the lack of diffracted ray on this path. More...
 
- Public Member Functions inherited from TYChemin
 TYChemin ()
 Constructor. More...
 
 TYChemin (const TYChemin &other)
 Copy contructor. More...
 
virtual ~TYChemin ()
 Destructor. More...
 
TYCheminoperator= (const TYChemin &other)
 Operator =. More...
 
bool operator== (const TYChemin &other) const
 Operator ==. More...
 
bool operator!= (const TYChemin &other) const
 Operator !=. More...
 
double getLongueur ()
 Get/Set the path length. More...
 
const double getLongueur () const
 
void setLongueur (const double &longueur)
 
double getDistance ()
 Get/Set the distance between source and receptor. More...
 
const double getDistance () const
 
void setDistance (const double &distance)
 
void setType (const TYTypeChemin &type)
 Change the path type. More...
 
const TYTypeChemin getType () const
 Return the path type. More...
 
template<typename T >
void build_eq_path (const T &tabEtapes)
 build an acoustic_path from the tab of etapes More...
 
acoustic_pathget_ray (OPoint3D ptR)
 

Protected Attributes

std::map< TYTypeAttenuation, OSpectreOctave_attenuations
 Attenuations spectra of the path. More...
 
- Protected Attributes inherited from TYChemin
TYTypeChemin _typeChemin
 Path type (has an influence on the algorithm) More...
 
double _longueur
 Total path length. More...
 
double _distance
 Direct distance between source and receptor. More...
 
acoustic_path_eq_path
 Equivalent acoustic_path. More...
 

Private Member Functions

void calcGroundAttenuations (double distance, double hs, double hr, double Gs, double Gm, double Gr)
 
OSpectreOctave calcGroundAttenuationSR (double dp, double h, double G)
 
OSpectreOctave calcGroundAttenuationM (double q, double Gm)
 

Detailed Description

Representation of one of the most optimal path between source and receptor: S—>R. The class TYChemin represents a path between a Source and a receptor (Recepteur class). It's constituted of a collection of steps (TYEtape class). Specific derivation of TYChemin for 9613Solver.

Definition at line 40 of file TYChemin9613Sover.h.

Constructor & Destructor Documentation

◆ TYChemin9613Solver() [1/2]

TYChemin9613Solver::TYChemin9613Solver ( )

Constructor.

Definition at line 19 of file TYChemin9613Solver.cpp.

◆ TYChemin9613Solver() [2/2]

TYChemin9613Solver::TYChemin9613Solver ( const TYChemin9613Solver other)

Copy contructor.

Definition at line 24 of file TYChemin9613Solver.cpp.

◆ ~TYChemin9613Solver()

TYChemin9613Solver::~TYChemin9613Solver ( )
override

Destructor.

Definition at line 29 of file TYChemin9613Solver.cpp.

Member Function Documentation

◆ calcAttenuation()

void TYChemin9613Solver::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.

Parameters
[in]tabEtapesArray of steps.
[in]atmosAtmospheric ocnditions.
[in]dpDistance 2D between source and receptor for considered path.
[in]hsHeight of source.
[in]hrHeight of receptor
[in]GsGround factor of the source zone.
[in]GmGround factor of the middle zone.
[in]GrGround factor of the receptor zone.

Definition at line 67 of file TYChemin9613Solver.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calcGroundAttenuationM()

OSpectreOctave TYChemin9613Solver::calcGroundAttenuationM ( double  q,
double  Gm 
)
private

Definition at line 200 of file TYChemin9613Solver.cpp.

Here is the caller graph for this function:

◆ calcGroundAttenuations()

void TYChemin9613Solver::calcGroundAttenuations ( double  distance,
double  hs,
double  hr,
double  Gs,
double  Gm,
double  Gr 
)
private

Definition at line 168 of file TYChemin9613Solver.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ calcGroundAttenuationSR()

OSpectreOctave TYChemin9613Solver::calcGroundAttenuationSR ( double  dp,
double  h,
double  G 
)
private

Definition at line 187 of file TYChemin9613Solver.cpp.

Here is the caller graph for this function:

◆ computeBarAttenuation()

void TYChemin9613Solver::computeBarAttenuation ( const OSpectreOctave Dz,
const bool  vertical,
const bool  left 
)

\ brief compute barrier attenuation on the path

Definition at line 107 of file TYChemin9613Solver.cpp.

◆ getAttenuation()

OSpectreOctave & TYChemin9613Solver::getAttenuation ( const TYTypeAttenuation  type)

Return attenuation of the path of the type.

Returns
_attenuations[type]

Definition at line 144 of file TYChemin9613Solver.cpp.

Here is the caller graph for this function:

◆ operator!=()

bool TYChemin9613Solver::operator!= ( const TYChemin9613Solver other) const

Operator !=.

Definition at line 62 of file TYChemin9613Solver.cpp.

Here is the call graph for this function:

◆ operator=()

TYChemin9613Solver & TYChemin9613Solver::operator= ( const TYChemin9613Solver other)

Operator =.

Definition at line 34 of file TYChemin9613Solver.cpp.

Here is the call graph for this function:

◆ operator==()

bool TYChemin9613Solver::operator== ( const TYChemin9613Solver other) const

Operator ==.

Definition at line 45 of file TYChemin9613Solver.cpp.

Here is the caller graph for this function:

◆ setAttenuation()

void TYChemin9613Solver::setAttenuation ( const TYTypeAttenuation type,
const OSpectreOctave att 
)
inline

Set the atmospheric attenuation.

Definition at line 103 of file TYChemin9613Sover.h.

◆ setAttenuationBarWhenNoPath()

void TYChemin9613Solver::setAttenuationBarWhenNoPath ( bool  vertical,
bool  left 
)

Set attenuation bar to max to traduce the lack of diffracted ray on this path.

Definition at line 149 of file TYChemin9613Solver.cpp.

Member Data Documentation

◆ _attenuations

std::map<TYTypeAttenuation, OSpectreOctave> TYChemin9613Solver::_attenuations
protected

Attenuations spectra of the path.

Definition at line 116 of file TYChemin9613Sover.h.


The documentation for this class was generated from the following files: