16 #ifndef __TY_CHEMIN_9613SOLVER__
17 #define __TY_CHEMIN_9613SOLVER__
83 double dp = 0.0,
double hs = 0.0,
double hr = 0.0,
double Gs = 0.5,
double Gm = 0.5,
99 double d_OR,
double a,
double h,
std::deque< TYChemin9613Solver > TYTabChemin9613Solver
TYChemin collection.
Representation of one of the most optimal path between source and receptor: S—>R.
std::deque< TYEtape9613Solver > TYTabEtape9613Solver
TYEtape collection.
Class for the definition of atmospheric conditions.
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 setMinimalExtensionConditionReflection(const OSpectreOctave &filter)
Set the minimal extension condition reflection.
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.
virtual void calcCylinderReflectionAttenuation(const OPoint3D &S, const OPoint3D &R, const OPoint3D &P, const OPoint3D &M, double r, const OVector3D &axis)
Compute attenuation when a reflection occur on a cylinder Its value is 0 for 9613Solver.
virtual OSpectreOctave calcMinimalExtensionConditionOneReflection(const OPoint3D &Oprev, const OPoint3D &O, double d_SO, double d_OR, 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 setAttenuation(const TYTypeAttenuation &type, const OSpectreOctave &att)
Set the atmospheric attenuation.
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.
bool hasAttenuation(const TYTypeAttenuation type) const
Check if the attenuation of the given type exists in the attenuations table.
Representation of one of the most optimal path between source and receptor: S—>R. The class TYChemin ...