Code_TYMPAN  4.4.0
Industrial site acoustic simulation
sonie_zwicker_1991.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012-2014> <EDF-R&D> <FRANCE>
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation; either version 2 of the License, or
6  * (at your option) any later version.
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10  * See the GNU General Public License for more details.
11  * You should have received a copy of the GNU General Public License along
12  * with this program; if not, write to the Free Software Foundation, Inc.,
13  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14  */
15 
16 #ifndef TY_MC_SONIE_ZWICKER_1991
17 #define TY_MC_SONIE_ZWICKER_1991
18 
22 class sonie
23 {
24 public:
26  sonie(double* vectToct, const unsigned short& champ = 0);
28  ~sonie();
30  double getNTot()
31  {
32  return N_Tot;
33  }
35  double getLN()
36  {
37  return LN;
38  }
40  double* getNSpecif()
41  {
42  return N_Specif;
43  }
45  double* getBarks()
46  {
47  return BarkAxis;
48  }
50  bool isOk()
51  {
52  return _isOk;
53  }
54 
55 private:
57  bool validation();
58 
60  void exec();
61 
63  double calcIsoSonie(const double& val);
64 
65 private:
67  static const unsigned short Nbandes3Oct;
68 
73  static const double RAP[];
74 
79  static const double DLL[8][11];
80 
85  static const double LTQ[];
86 
90  static const double A0[];
91 
95  static const double DDF[];
96 
101  static const double ZUP[];
102 
106  static const double DCB[];
107 
112  static const double RNS[];
113 
118  static const double USL[18][8];
119 
121  double* VectNiv3Oct;
123  unsigned short Champ;
125  double N_Tot;
127  double LN;
129  double* N_Specif;
131  double* BarkAxis;
133  bool _isOk;
134 };
135 #endif // TY_MC_SONIE_ZWICKER_1991
Class to define the loudness (according Zwicker, 1991)
double * N_Specif
Sonie Sp�cifique.
double * getNSpecif()
Renvoie la sonie sp�cifique.
~sonie()
Destructor.
bool _isOk
Indication de bonne ex�cution du calcul.
double * BarkAxis
Vecteur des de bark sur lequel est calcul� N_specif.
double getNTot()
Renvoie la sonie totale.
double * getBarks()
Renvoie le vecteur des bandes de Barks.
static const double DCB[]
double LN
Niveau d'isosonie en phone.
double getLN()
Renvoie le niveau d'isosonie en phone.
double calcIsoSonie(const double &val)
Renvoie le niveau d'isosonie en phone.
sonie(double *vectToct, const unsigned short &champ=0)
Constructor.
static const double DLL[8][11]
double N_Tot
Sonie totale.
static const double RAP[]
static const double A0[]
bool isOk()
Indique si le calcul s'est correctement effectu�
static const double LTQ[]
static const double RNS[]
static const double ZUP[]
static const double DDF[]
static const double USL[18][8]
unsigned short Champ
Type de champ (0 = champ libre, 1 = champ diffus)
static const unsigned short Nbandes3Oct
Dimension du vecteur des valaur en 1/3 d'octave.
bool validation()
V�rification des donn�es d'entr�e.
double * VectNiv3Oct
Tableau de 28 doubles repr�sentant les valeurs par 1/3 d'octave sur la bande 25-10000 Hz.