Code_TYMPAN  4.4.0
Industrial site acoustic simulation
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
TYChemin 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). More...

#include <TYChemin.h>

Collaboration diagram for TYChemin:
Collaboration graph
[legend]

Public Member Functions

 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...
 
void calcAttenuation (const TYTabEtape &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)
 
void computeBarAttenuation (const OSpectreOctave &Dz, const bool vertical, const bool left)
 
OSpectreOctavegetAttenuation (TYTypeAttenuation type)
 
OSpectreOctavegetAttenuation ()
 Return the path attenuation. More...
 
const OSpectreOctavegetAttenuation () const
 
void setAttenuation (const TYTypeAttenuation &type, const OSpectreOctave &att)
 
void setAttenuationBarWhenNoPath (bool vertical, bool left)
 Set attenuation bar to max to traduce the lack of diffracted ray on this path. 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
 
void build_eq_path (const TYTabEtape &tabEtapes)
 
acoustic_pathget_ray (OPoint3D ptR)
 
 TYChemin ()
 
 TYChemin (const TYChemin &other)
 
virtual ~TYChemin ()
 
TYCheminoperator= (const TYChemin &other)
 Operator =. More...
 
bool operator== (const TYChemin &other) const
 Operator ==. More...
 
bool operator!= (const TYChemin &other) const
 Operator !=. More...
 
void calcAttenuation (const TYTabEtape &tabEtapes, const AtmosphericConditions &atmos)
 Compute the global attenuation on the path. More...
 
OSpectreComplexgetAttenuation ()
 
const OSpectreComplexgetAttenuation () const
 
void setAttenuation (const OSpectreComplex &att)
 Set the attenuation. More...
 
double getLongueur ()
 
const double getLongueur () const
 
void setLongueur (const double &longueur)
 
double getDistance ()
 
const double getDistance () const
 
void setDistance (const double &distance)
 
void setType (const int &type)
 Change the path type. More...
 
int getType () const
 
void build_eq_path (const TYTabEtape &tabEtapes)
 
acoustic_pathget_ray (OPoint3D ptR)
 

Protected Attributes

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...
 
std::map< TYTypeAttenuation, OSpectreOctave_attenuations
 Attenuations spectra of the path. More...
 
OSpectreOctave _attenuation
 
acoustic_path_eq_path
 Equivalent acoustic_path. More...
 
OSpectreComplex _attenuation
 Attenuation spectrum of the 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).

Definition at line 70 of file TYChemin.h.

Constructor & Destructor Documentation

◆ TYChemin() [1/4]

TYChemin::TYChemin ( )

Constructor.

Definition at line 19 of file TYChemin.cpp.

◆ TYChemin() [2/4]

TYChemin::TYChemin ( const TYChemin other)

Copy contructor.

Definition at line 25 of file TYChemin.cpp.

◆ ~TYChemin() [1/2]

TYChemin::~TYChemin ( )
virtual

Destructor.

Definition at line 30 of file TYChemin.cpp.

Here is the call graph for this function:

◆ TYChemin() [3/4]

TYChemin::TYChemin ( )

◆ TYChemin() [4/4]

TYChemin::TYChemin ( const TYChemin other)

◆ ~TYChemin() [2/2]

virtual TYChemin::~TYChemin ( )
virtual

Member Function Documentation

◆ build_eq_path() [1/2]

void TYChemin::build_eq_path ( const TYTabEtape tabEtapes)

Definition at line 187 of file TYChemin.cpp.

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

◆ build_eq_path() [2/2]

void TYChemin::build_eq_path ( const TYTabEtape tabEtapes)

◆ calcAttenuation() [1/2]

void TYChemin::calcAttenuation ( const TYTabEtape tabEtapes,
const AtmosphericConditions atmos 
)

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 86 of file TYChemin.cpp.

Here is the call graph for this function:

◆ calcAttenuation() [2/2]

void TYChemin::calcAttenuation ( const TYTabEtape 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 
)

Definition at line 87 of file TYChemin.cpp.

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

◆ calcGroundAttenuationM()

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

Definition at line 236 of file TYChemin.cpp.

Here is the caller graph for this function:

◆ calcGroundAttenuations()

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

Definition at line 205 of file TYChemin.cpp.

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

◆ calcGroundAttenuationSR()

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

Definition at line 223 of file TYChemin.cpp.

Here is the caller graph for this function:

◆ computeBarAttenuation()

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

\ brief compute barrier attenuation on the path

Definition at line 126 of file TYChemin.cpp.

◆ get_ray() [1/2]

acoustic_path * TYChemin::get_ray ( OPoint3D  ptR)

Definition at line 196 of file TYChemin.cpp.

Here is the call graph for this function:

◆ get_ray() [2/2]

acoustic_path* TYChemin::get_ray ( OPoint3D  ptR)

◆ getAttenuation() [1/5]

OSpectreComplex & TYChemin::getAttenuation ( )
inline

Return the path attenuation.

const OSpectreComplex& getAttenuation()

Returns
_attenuation

Definition at line 134 of file TYChemin.h.

◆ getAttenuation() [2/5]

OSpectreComplex& TYChemin::getAttenuation ( )
inline

Definition at line 83 of file TYChemin.h.

◆ getAttenuation() [3/5]

const OSpectreOctave& TYChemin::getAttenuation ( ) const
inline

Definition at line 139 of file TYChemin.h.

◆ getAttenuation() [4/5]

const OSpectreComplex& TYChemin::getAttenuation ( ) const
inline

Definition at line 87 of file TYChemin.h.

◆ getAttenuation() [5/5]

OSpectreOctave & TYChemin::getAttenuation ( TYTypeAttenuation  type)

Definition at line 163 of file TYChemin.cpp.

Here is the caller graph for this function:

◆ getDistance() [1/4]

double TYChemin::getDistance ( )
inline

Get/Set the distance between source and receptor.

const double getDistance() void setDistance(const double & distance)

Returns
_distance

Definition at line 188 of file TYChemin.h.

◆ getDistance() [2/4]

double TYChemin::getDistance ( )
inline

Definition at line 129 of file TYChemin.h.

◆ getDistance() [3/4]

const double TYChemin::getDistance ( ) const
inline

Definition at line 192 of file TYChemin.h.

◆ getDistance() [4/4]

const double TYChemin::getDistance ( ) const
inline

Definition at line 133 of file TYChemin.h.

◆ getLongueur() [1/4]

double TYChemin::getLongueur ( )
inline

Get/Set the path length.

const double getLongueur() void setLongueur(const double & longueur)

Returns
_longueur

Definition at line 166 of file TYChemin.h.

Here is the caller graph for this function:

◆ getLongueur() [2/4]

double TYChemin::getLongueur ( )
inline

Definition at line 107 of file TYChemin.h.

◆ getLongueur() [3/4]

const double TYChemin::getLongueur ( ) const
inline

Definition at line 170 of file TYChemin.h.

◆ getLongueur() [4/4]

const double TYChemin::getLongueur ( ) const
inline

Definition at line 111 of file TYChemin.h.

◆ getType() [1/2]

const TYTypeChemin TYChemin::getType ( ) const
inline

Definition at line 216 of file TYChemin.h.

Here is the caller graph for this function:

◆ getType() [2/2]

int TYChemin::getType ( ) const
inline

Definition at line 159 of file TYChemin.h.

◆ operator!=() [1/2]

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

Operator !=.

Definition at line 82 of file TYChemin.cpp.

Here is the call graph for this function:

◆ operator!=() [2/2]

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

Operator !=.

◆ operator=() [1/2]

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

Operator =.

Definition at line 39 of file TYChemin.cpp.

◆ operator=() [2/2]

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

Operator =.

◆ operator==() [1/2]

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

Operator ==.

Definition at line 53 of file TYChemin.cpp.

Here is the caller graph for this function:

◆ operator==() [2/2]

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

Operator ==.

◆ setAttenuation() [1/2]

void TYChemin::setAttenuation ( const OSpectreComplex att)
inline

Set the attenuation.

Definition at line 96 of file TYChemin.h.

◆ setAttenuation() [2/2]

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

Definition at line 148 of file TYChemin.h.

◆ setAttenuationBarWhenNoPath()

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

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

Definition at line 168 of file TYChemin.cpp.

◆ setDistance() [1/2]

void TYChemin::setDistance ( const double &  distance)
inline

Definition at line 197 of file TYChemin.h.

Here is the caller graph for this function:

◆ setDistance() [2/2]

void TYChemin::setDistance ( const double &  distance)
inline

Definition at line 138 of file TYChemin.h.

◆ setLongueur() [1/2]

void TYChemin::setLongueur ( const double &  longueur)
inline

Definition at line 175 of file TYChemin.h.

Here is the caller graph for this function:

◆ setLongueur() [2/2]

void TYChemin::setLongueur ( const double &  longueur)
inline

Definition at line 116 of file TYChemin.h.

◆ setType() [1/2]

void TYChemin::setType ( const int &  type)
inline

Change the path type.

Definition at line 147 of file TYChemin.h.

◆ setType() [2/2]

void TYChemin::setType ( const TYTypeChemin type)
inline

Change the path type.

Definition at line 206 of file TYChemin.h.

Here is the caller graph for this function:

Member Data Documentation

◆ _attenuation [1/2]

OSpectreOctave TYChemin::_attenuation
protected

Definition at line 243 of file TYChemin.h.

◆ _attenuation [2/2]

OSpectreComplex TYChemin::_attenuation
protected

Attenuation spectrum of the path.

Definition at line 182 of file TYChemin.h.

◆ _attenuations

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

Attenuations spectra of the path.

Definition at line 239 of file TYChemin.h.

◆ _distance

double TYChemin::_distance
protected

Direct distance between source and receptor.

Definition at line 236 of file TYChemin.h.

◆ _eq_path

acoustic_path * TYChemin::_eq_path
protected

Equivalent acoustic_path.

Definition at line 246 of file TYChemin.h.

◆ _longueur

double TYChemin::_longueur
protected

Total path length.

Definition at line 233 of file TYChemin.h.

◆ _typeChemin

TYTypeChemin TYChemin::_typeChemin
protected

Path type (has an influence on the algorithm)

Definition at line 230 of file TYChemin.h.


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