Code_TYMPAN  4.4.0
Industrial site acoustic simulation
spectre.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012-2024> <EDF-DTG> <FRANCE>
3  * This file is part of Code_TYMPAN (R).
4  * Code_TYMPAN (R) is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  * Code_TYMPAN (R) is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  * You should have received a copy of the GNU General Public License along
13  * with Code_TYMPAN (R). If not, see <https://www.gnu.org/licenses/>.
14  */
15 
16 #ifndef TY_MC_SPECTRE
17 #define TY_MC_SPECTRE
18 
19 #include <vector>
20 #include <map>
21 #include <ostream>
22 
23 #include "Tympan/core/macros.h"
24 
27 {
33 };
36 {
41 };
44 {
47 };
48 
50 static const unsigned int TY_SPECTRE_DEFAULT_NB_ELMT = 31;
51 
53 static const unsigned int TY_SPECTRE_OCT_NB_ELMT = 9;
54 
56 static const double TY_SPECTRE_DEFAULT_VALUE = -100.0;
57 static const double TY_SPECTRE_OCT_DEFAULT_VALUE = -95.23;
58 
60 typedef std::vector<double> OTabFreq;
61 
67 #define CHECK_FORM_AND_GET_CONCRETE_INSTANCE \
68  \
69  if (this->getForm() != spectre.getForm()) \
70  { \
71  throw tympan::invalid_data("Spectrums must be same form") << tympan_source_loc; \
72  } \
73  OSpectreAbstract* sp = getConcreteInstance(); \
74  OSpectreAbstract& s = *sp;
75 
83 {
85 public:
87  explicit OSpectreAbstract();
88  explicit OSpectreAbstract(TYSpectreForm form);
89 
90  explicit OSpectreAbstract(bool isValid, TYSpectreType type, TYSpectreEtat etat, TYSpectreForm form);
92  virtual OSpectreAbstract& operator=(const OSpectreAbstract& other);
94  virtual bool operator==(const OSpectreAbstract& other) const;
96  virtual bool operator!=(const OSpectreAbstract& other) const;
97 
99  OSpectreAbstract& operator+(const double& valeur) const;
100 
102  OSpectreAbstract& operator+(const OSpectreAbstract& spectre) const;
103 
105  OSpectreAbstract& operator-(const OSpectreAbstract& spectre) const;
106 
108  OSpectreAbstract& operator*(const OSpectreAbstract& spectre) const;
110  OSpectreAbstract& operator*(const double& coefficient) const;
111 
113  OSpectreAbstract& sumdB(const OSpectreAbstract& spectre) const;
114 
116  virtual double* getTabValReel() = 0;
117  virtual const double* getTabValReel() const = 0;
118 
120  virtual OSpectreAbstract* getConcreteInstance() const = 0;
121 
126  void setDefaultValue(const double& valeur = TY_SPECTRE_DEFAULT_VALUE);
127 
134  bool isValid() const
135  {
136  return _valid;
137  }
138 
142  void setValid(const bool& valid = true)
143  {
144  _valid = valid;
145  }
146 
149  {
150  return _type;
151  }
154  {
155  _type = type;
156  }
157 
160  {
161  return _etat;
162  };
164  {
165  return _etat;
166  };
167 
170  {
171  _etat = etat;
172  }
173 
176  {
177  return _form;
178  };
179 
182  {
183  _form = form;
184  }
185 
187  unsigned int getNbValues() const;
188 
189  void setDefaultValue(double module[], const unsigned int spectreNbElmt = TY_SPECTRE_DEFAULT_NB_ELMT,
190  const double& valeur = TY_SPECTRE_DEFAULT_VALUE);
191 
199  void getRangeValueReal(double* valeurs, const short& nbVal, const short& decalage);
200 
202  OSpectreAbstract& sum(const OSpectreAbstract& spectre) const;
203 
205  OSpectreAbstract& sum(const double& value) const;
206 
208  OSpectreAbstract& mult(const OSpectreAbstract& spectre) const;
209 
211  OSpectreAbstract& mult(const double& coefficient) const;
212 
214  OSpectreAbstract& div(const OSpectreAbstract& spectre) const;
215 
217  OSpectreAbstract& div(const double& coefficient) const;
218 
220  OSpectreAbstract& subst(const OSpectreAbstract& spectre) const;
221 
223  OSpectreAbstract& subst(const double& valeur) const;
224 
226  OSpectreAbstract& invMult(const double& coefficient = 1.0) const;
227 
229  OSpectreAbstract& inv() const;
230 
232  OSpectreAbstract& power(const double& puissance) const;
233 
235  OSpectreAbstract& log(const double& base = 10.0) const;
236 
238  OSpectreAbstract& racine() const;
239 
241  OSpectreAbstract& exp(const double coef = 1.0);
242 
244  OSpectreAbstract& sin() const;
245 
247  OSpectreAbstract& cos() const;
248 
250  OSpectreAbstract& abs() const;
251 
256  OSpectreAbstract& sqrt() const;
257 
262  double valMax();
263 
265  OSpectreAbstract& seuillage(const double& min = -200.0, const double max = 200.0);
266 
268  double sigma();
269  const double sigma() const;
270 
272  OSpectreAbstract& toDB() const;
273 
275  OSpectreAbstract& toGPhy() const;
276 
278  double valGlobDBLin() const;
279 
281  double valGlobDBA() const;
282 
284  OSpectreAbstract& toTOct() const;
285 
287  OSpectreAbstract& toOct() const;
288 
294 
296  virtual void printme() const;
297 
298  // === STATIC FUNCTIONS
299 
301  static OSpectreAbstract& makeOctSpect();
302 
303  // Members
304 public:
305 protected:
306  // ==== Static members
308  static double _defaultValue;
309 
310  // ==== Other members
311 
313  bool _valid;
314 
317 
320 
323 };
324 
326 {
327  // Methods
328 public:
330  OSpectre();
332  OSpectre(double defaultValue);
334  OSpectre(const OSpectre& other);
336  OSpectre(const OSpectreAbstract& other);
337 
344  OSpectre(const double* valeurs, unsigned nbVal, unsigned decalage);
346  virtual ~OSpectre();
348  OSpectre& operator=(const OSpectre& other);
349  OSpectreAbstract& operator=(const OSpectreAbstract& other) override;
351  virtual bool operator==(const OSpectre& other) const;
353  virtual bool operator!=(const OSpectre& other) const;
354 
357  double* getTabValReel() override
358  {
359  return _module;
360  }
361  const double* getTabValReel() const override
362  {
363  return _module;
364  }
365 
367  OSpectreAbstract* getConcreteInstance() const override;
368 
375  void setValue(const double& freq, const double& reel = 0.0);
376 
384  double getValueReal(double freq);
385 
387  bool isTonalite() const;
388 
389  // === STATIC FUNCTIONS
390 
392  static OSpectre getEmptyLinSpectre(const double& valInit = 1.0E-20);
393 
395  static OSpectre makeOctSpect();
396 
398  static int getIndice(const double& freq)
399  {
400  return _mapFreqIndice[freq];
401  }
402 
404  static void setFMin(const double& fMin)
405  {
406  _fMin = fMin;
407  }
409  static void setFMax(const double& fMax)
410  {
411  _fMax = fMax;
412  }
413 
421  static OTabFreq getTabFreqExact(); // XXX These are the frequencies to use in solver
422 
429 
431  static std::map<double, int> setMapFreqIndice();
432 
434  static OSpectre pondA();
435 
437  static OSpectre pondB();
438 
440  static OSpectre pondC();
441 
447  static OSpectre getLambda(const double& c);
448 
449  // Members
450 public:
451 protected:
452  // ==== Static members
453  // CAUTION Check how those static members behave in shared libraries
454 
456  static const double _freqNorm[];
457 
459  static double _fMin;
460 
462  static double _fMax;
463 
465  static std::map<double, int> _mapFreqIndice;
466 
468  double _module[TY_SPECTRE_DEFAULT_NB_ELMT];
469 };
470 
471 ::std::ostream& operator<<(::std::ostream& os, const OSpectre& s);
472 
473 typedef std::vector<OSpectre> OTabSpectre;
474 typedef std::vector<std::vector<OSpectre>> OTab2DSpectre;
475 
480 class OSpectreComplex : public OSpectre
481 {
482  // Methods
483 public:
484  OSpectreComplex();
485  OSpectreComplex(const TYComplex& defaultValue);
486  OSpectreComplex(const OSpectreComplex& other);
490  OSpectreComplex(const OSpectre& other);
494  OSpectreComplex(const OSpectre& spectre1, const OSpectre& spectre2);
495 
496  virtual ~OSpectreComplex();
499  OSpectreAbstract& operator=(const OSpectreAbstract& other) override;
500 
501  bool operator==(const OSpectreComplex& other) const;
502  bool operator!=(const OSpectreComplex& other) const;
503  OSpectreComplex operator+(const OSpectreComplex& spectre) const;
505  OSpectreComplex operator*(const OSpectreComplex& spectre) const;
507  OSpectreComplex operator*(const OSpectre& spectre) const;
509  OSpectreComplex operator*(const double& coefficient) const;
511  OSpectreComplex operator/(const OSpectreComplex& spectre) const;
512 
514  double* getTabValImag()
515  {
516  return _phase;
517  }
518  const double* getTabValImag() const
519  {
520  return _phase;
521  }
522 
530  void setValue(const double& freq, const double& reel, const double& imag = 0.0);
537  void setValue(const double& freq, const TYComplex& cplx);
546  double getValueImag(double freq, bool* pValid = 0);
551  void setPhase(const OSpectre& spectre);
556  void setPhase(const double& valeur = 0.0);
561  OSpectre getPhase() const;
565  OSpectre getModule() const;
566 
569 
570  // === STATIC FUNCTIONS
571 
573  static OSpectreComplex getCplxSpectre(const double& valInit = 1.0E-20);
574  // Members
575 public:
576 protected:
578  double _phase[TY_SPECTRE_DEFAULT_NB_ELMT];
579 };
580 
581 typedef std::vector<OSpectreComplex> OTabSpectreComplex;
582 typedef std::vector<std::vector<OSpectreComplex>> OTab2DSpectreComplex;
583 
589 {
590  // Methods
591 public:
592  OSpectreOctave();
594  OSpectreOctave(double defaultValue);
595  OSpectreOctave(const double* valeurs, unsigned nbVal, unsigned decalage);
596  OSpectreOctave(const OSpectreOctave& other);
598  OSpectreOctave(const OSpectreAbstract& other);
599 
603  OSpectreOctave(const OSpectre& other);
604 
605  virtual ~OSpectreOctave();
606 
608  OSpectreOctave& operator=(const OSpectreOctave& other);
609  OSpectreAbstract& operator=(const OSpectreAbstract& other) override;
610  bool operator==(const OSpectreOctave& other) const;
611  bool operator!=(const OSpectreOctave& other) const;
612 
614  double* getTabValReel() override
615  {
616  return _module;
617  }
618 
619  const double* getTabValReel() const override
620  {
621  return _module;
622  }
623 
625  OSpectreAbstract* getConcreteInstance() const override;
626 
633  void setValue(const double& freq, const double& reel = 0.0);
634 
635  // === STATIC FUNCTIONS
636 
638  static OSpectreOctave getEmptyLinSpectre(const double& valInit = 1.0E-20);
639 
647  static OTabFreq getTabFreqExact(); // XXX These are the frequencies to use in solver
648 
650  static OSpectreOctave pondA();
651 
657  static OSpectreOctave getLambda(const double& c);
658 
660  static std::map<double, int> setMapFreqIndice();
661 
662  // Members
663 public:
664 protected:
665  // ==== Static members
667  static std::map<double, int> _mapFreqIndice;
668 
670  static const double _freqNorm[TY_SPECTRE_OCT_NB_ELMT];
671 
673  static const double _AWeighting[TY_SPECTRE_OCT_NB_ELMT];
674 
675  // ==== Other members
676 
678  double _module[TY_SPECTRE_OCT_NB_ELMT];
679 };
680 
681 #endif // TY_MC_SPECTRE
NxReal s
Definition: NxVec3.cpp:317
NxReal c
Definition: NxVec3.cpp:317
#define min(a, b)
Store acoustic power values for different frequencies.
Definition: spectre.h:83
OSpectreAbstract & power(const double &puissance) const
Return a spectrum as this spectrum raised to a double power.
Definition: spectre.cpp:394
OSpectreAbstract & sum(const OSpectreAbstract &spectre) const
Arithmetic sum of two spectrums in one-third Octave.
Definition: spectre.cpp:224
OSpectreAbstract & subst(const OSpectreAbstract &spectre) const
Arithmetic subtraction of two spectrums in one-third Octave.
Definition: spectre.cpp:321
virtual bool operator==(const OSpectreAbstract &other) const
operator==
Definition: spectre.cpp:80
const TYSpectreEtat getEtat()
Definition: spectre.h:163
bool _valid
Spectrum validity.
Definition: spectre.h:313
double valMax()
Return the maximum value of a spectrum.
Definition: spectre.cpp:527
double valGlobDBA() const
Compute the global value dB[A] of a one-third Octave spectrum.
Definition: spectre.cpp:691
static double _defaultValue
Default value for the spectrum.
Definition: spectre.h:308
void setForm(TYSpectreForm form)
Force the spectrum state (to use carefully ...)
Definition: spectre.h:181
OSpectreAbstract & toGPhy() const
Converts to physical quantity.
Definition: spectre.cpp:642
virtual double * getTabValReel()=0
Get the array of real values - Pure virtual method.
OSpectreAbstract & seuillage(const double &min=-200.0, const double max=200.0)
Limit the spectrum values (min and max)
Definition: spectre.cpp:537
OSpectreAbstract & exp(const double coef=1.0)
Compute e^(coef * spectre) of this spectrum.
Definition: spectre.cpp:454
OSpectreAbstract & operator+(const double &valeur) const
Add a constant value to all the spectrum.
Definition: spectre.cpp:109
OSpectreAbstract & log(const double &base=10.0) const
Compute the log base n of this spectrum (n=10 by default).
Definition: spectre.cpp:409
unsigned int getNbValues() const
Number of values in the spectrum.
Definition: spectre.cpp:187
OSpectreAbstract & invMult(const double &coefficient=1.0) const
Division of a double constant by this spectrum.
Definition: spectre.cpp:350
virtual const double * getTabValReel() const =0
double valGlobDBLin() const
Compute the global value dB[Lin] of a one-third Octave spectrum.
Definition: spectre.cpp:679
OSpectreAbstract & operator*(const OSpectreAbstract &spectre) const
Multiplication by a Spectre spectrum.
Definition: spectre.cpp:149
void setEtat(TYSpectreEtat etat)
Force the spectrum state (to use carefully ...)
Definition: spectre.h:169
OSpectreAbstract()
Methods.
Definition: spectre.cpp:53
void setType(TYSpectreType type)
Set the spectrum type.
Definition: spectre.h:153
double sigma()
Sum the values of the spectrum.
Definition: spectre.cpp:558
TYSpectreEtat getEtat() const
Get the spectrum state.
Definition: spectre.h:159
virtual void printme() const
Print the spectrum.
Definition: spectre.cpp:837
TYSpectreType getType() const
Get the spectrum type.
Definition: spectre.h:148
OSpectreAbstract & abs() const
Return the absolute value of this spectrum.
Definition: spectre.cpp:498
TYSpectreForm _form
Representation of the spectrum: one-third Octave, Octave, constant delta f, unstructured.
Definition: spectre.h:322
OSpectreAbstract & toTOct() const
Converts to one-third Octave.
Definition: spectre.cpp:709
OSpectreAbstract & div(const OSpectreAbstract &spectre) const
Division of two spectrums.
Definition: spectre.cpp:278
OSpectreAbstract & sqrt() const
Return the root square of a spectrum.
Definition: spectre.cpp:512
void setValid(const bool &valid=true)
Definition: spectre.h:142
OSpectreAbstract & racine() const
Compute the root square of this spectrum.
Definition: spectre.cpp:432
OSpectreAbstract & sin() const
Compute the sin of this spectrum.
Definition: spectre.cpp:469
void getRangeValueReal(double *valeurs, const short &nbVal, const short &decalage)
Definition: spectre.cpp:216
virtual OSpectreAbstract & operator=(const OSpectreAbstract &other)
operator=
Definition: spectre.cpp:68
virtual bool operator!=(const OSpectreAbstract &other) const
operator !=
Definition: spectre.cpp:104
void setDefaultValue(const double &valeur=TY_SPECTRE_DEFAULT_VALUE)
Definition: spectre.cpp:202
TYSpectreForm getForm() const
Get the spectrum form.
Definition: spectre.h:175
TYSpectreEtat _etat
Spectrum state (physical quantity or dB).
Definition: spectre.h:319
static OSpectreAbstract & makeOctSpect()
Make a spectrum in Octave.
Definition: spectre.cpp:847
OSpectreAbstract & operator-(const OSpectreAbstract &spectre) const
Arithmetic subtraction of two spectrums in one-third Octave.
Definition: spectre.cpp:136
OSpectreAbstract & cos() const
Compute the cos of this spectrum.
Definition: spectre.cpp:483
OSpectreAbstract & toDB() const
Converts to dB.
Definition: spectre.cpp:595
OSpectreAbstract & toOct() const
Converts to Octave.
Definition: spectre.cpp:783
OSpectreAbstract & round()
Definition: spectre.cpp:578
OSpectreAbstract & mult(const OSpectreAbstract &spectre) const
Multiplication of two spectrums.
Definition: spectre.cpp:248
TYSpectreType _type
Spectrum type.
Definition: spectre.h:316
bool isValid() const
Check the spectrum validity. Invalidity is caused by: corrupted data, impossible calculation.
Definition: spectre.h:134
OSpectreAbstract & sumdB(const OSpectreAbstract &spectre) const
Energetic sum of two spectrums.
Definition: spectre.cpp:176
virtual OSpectreAbstract * getConcreteInstance() const =0
Return an instance of a concrete class of the same type as current.
OSpectreAbstract & inv() const
Division of one by this spectrum.
Definition: spectre.cpp:372
OSpectreComplex & operator=(const OSpectreComplex &other)
operators
Definition: spectre.cpp:1200
void setPhase(const OSpectre &spectre)
Definition: spectre.cpp:1364
bool operator!=(const OSpectreComplex &other) const
Definition: spectre.cpp:1257
double getValueImag(double freq, bool *pValid=0)
Definition: spectre.cpp:1358
void setValue(const double &freq, const double &reel, const double &imag=0.0)
Definition: spectre.cpp:1346
double _phase[TY_SPECTRE_DEFAULT_NB_ELMT]
Array of the imaginary numbers (phase)
Definition: spectre.h:578
OSpectre getModule() const
Definition: spectre.cpp:1390
OSpectreComplex toModulePhase() const
Conversion to module/phase.
Definition: spectre.cpp:1400
OSpectre getPhase() const
Definition: spectre.cpp:1380
static OSpectreComplex getCplxSpectre(const double &valInit=1.0E-20)
Build a OSpectreComplex complex spectrum.
Definition: spectre.cpp:1419
const double * getTabValImag() const
Definition: spectre.h:518
OSpectreComplex operator+(const OSpectreComplex &spectre) const
Definition: spectre.cpp:1262
bool operator==(const OSpectreComplex &other) const
Definition: spectre.cpp:1239
OSpectreComplex operator/(const OSpectreComplex &spectre) const
Divide a complex spectrum by another one.
Definition: spectre.cpp:1330
OSpectreComplex operator*(const OSpectreComplex &spectre) const
Product of two complex spectrums (module/phase)
Definition: spectre.cpp:1284
double * getTabValImag()
Get an array of the imaginary values of the spectrum.
Definition: spectre.h:514
virtual ~OSpectreComplex()
Definition: spectre.cpp:1198
virtual ~OSpectreOctave()
Definition: spectre.cpp:1500
OSpectreAbstract * getConcreteInstance() const override
Return an instance of a concrete class of the same type as current.
Definition: spectre.cpp:1577
static OSpectreOctave getLambda(const double &c)
Definition: spectre.cpp:1606
static OSpectreOctave pondA()
Build a weighted spectrum A.
Definition: spectre.cpp:1601
double _module[TY_SPECTRE_OCT_NB_ELMT]
Real values array for module.
Definition: spectre.h:678
static const double _AWeighting[TY_SPECTRE_OCT_NB_ELMT]
A weighting for ponderation A computation.
Definition: spectre.h:673
static OSpectreOctave getEmptyLinSpectre(const double &valInit=1.0E-20)
Create a physical quantity spectrum.
Definition: spectre.cpp:1631
bool operator!=(const OSpectreOctave &other) const
Definition: spectre.cpp:1572
void setValue(const double &freq, const double &reel=0.0)
Definition: spectre.cpp:1582
bool operator==(const OSpectreOctave &other) const
Definition: spectre.cpp:1553
static OTabFreq getTabFreqExact()
Definition: spectre.cpp:1590
static const double _freqNorm[TY_SPECTRE_OCT_NB_ELMT]
Array of center frequencies (Hz) normalized in one-third Octave.
Definition: spectre.h:670
static std::map< double, int > setMapFreqIndice()
Build frequency/index map.
Definition: spectre.cpp:1619
const double * getTabValReel() const override
Definition: spectre.h:619
static std::map< double, int > _mapFreqIndice
Mapping between frequency and array index.
Definition: spectre.h:667
OSpectreOctave & operator=(const OSpectreOctave &other)
operators
Definition: spectre.cpp:1502
double * getTabValReel() override
Get an array of the real values of the spectrum.
Definition: spectre.h:614
static OSpectre getOSpectreFreqExact()
Return the spectrum of the exact frequencies.
Definition: spectre.cpp:1004
const double * getTabValReel() const override
Definition: spectre.h:361
virtual bool operator!=(const OSpectre &other) const
operator !=
Definition: spectre.cpp:958
OSpectre & operator=(const OSpectre &other)
operator=
Definition: spectre.cpp:897
static OSpectre getLambda(const double &c)
Definition: spectre.cpp:1077
static std::map< double, int > _mapFreqIndice
Mapping between frequency and array index.
Definition: spectre.h:465
static std::map< double, int > setMapFreqIndice()
Construction du tableau frequence/indice.
Definition: spectre.cpp:982
void setValue(const double &freq, const double &reel=0.0)
Definition: spectre.cpp:968
double _module[TY_SPECTRE_DEFAULT_NB_ELMT]
Real values array for module.
Definition: spectre.h:468
OSpectreAbstract * getConcreteInstance() const override
Return an instance of a concrete class of the same type as current.
Definition: spectre.cpp:963
static double _fMin
Minimal frequency.
Definition: spectre.h:459
static OSpectre getEmptyLinSpectre(const double &valInit=1.0E-20)
Create a physical quantity spectrum.
Definition: spectre.cpp:1130
double * getTabValReel() override
Definition: spectre.h:357
static void setFMax(const double &fMax)
Define maximal frequency.
Definition: spectre.h:409
static const double _freqNorm[]
Array of center frequencies (Hz) normalized in one-third Octave.
Definition: spectre.h:456
virtual ~OSpectre()
Destructor.
Definition: spectre.cpp:895
bool isTonalite() const
Existence d'une tonalite marquee.
Definition: spectre.cpp:1091
static void setFMin(const double &fMin)
Define minimal frequency.
Definition: spectre.h:404
static OSpectre pondC()
Build a weighted spectrum C.
Definition: spectre.cpp:1058
virtual bool operator==(const OSpectre &other) const
operator==
Definition: spectre.cpp:939
static OSpectre pondB()
Build a weighted spectrum B.
Definition: spectre.cpp:1036
static OSpectre pondA()
Build a weighted spectrum A.
Definition: spectre.cpp:1014
OSpectre()
Default constructor, the spectrum module is defined by the _defaultValue.
Definition: spectre.cpp:853
double getValueReal(double freq)
Definition: spectre.cpp:974
static double _fMax
Maximal frequency.
Definition: spectre.h:462
static OSpectre makeOctSpect()
Make a spectrum in Octave.
Definition: spectre.cpp:1137
static int getIndice(const double &freq)
Return the index associated to a frequency.
Definition: spectre.h:398
static OTabFreq getTabFreqExact()
Definition: spectre.cpp:994
std::complex< double > TYComplex
Definition: macros.h:25
std::vector< double > OTabFreq
Frequencies collection.
Definition: spectre.h:60
std::vector< std::vector< OSpectreComplex > > OTab2DSpectreComplex
OTabSpectreComplex 2D array.
Definition: spectre.h:582
TYSpectreEtat
Spectrum state (dB/Physical Measure).
Definition: spectre.h:44
@ SPECTRE_ETAT_LIN
Definition: spectre.h:46
@ SPECTRE_ETAT_DB
Definition: spectre.h:45
::std::ostream & operator<<(::std::ostream &os, const OSpectre &s)
Definition: spectre.cpp:1144
TYSpectreForm
Spectrum representation.
Definition: spectre.h:36
@ SPECTRE_FORM_TIERS
Definition: spectre.h:37
@ SPECTRE_FORM_OCT
Definition: spectre.h:38
@ SPECTRE_FORM_UNSHAPED
Definition: spectre.h:40
@ SPECTRE_FORM_CST_DF
Definition: spectre.h:39
std::vector< OSpectre > OTabSpectre
Spectrums vector.
Definition: spectre.h:473
std::vector< OSpectreComplex > OTabSpectreComplex
OTabSpectreComplex vector.
Definition: spectre.h:581
TYSpectreType
Spectrum type.
Definition: spectre.h:27
@ SPECTRE_TYPE_LW
Definition: spectre.h:30
@ SPECTRE_TYPE_LP
Definition: spectre.h:31
@ SPECTRE_TYPE_AUTRE
Definition: spectre.h:32
@ SPECTRE_TYPE_ATT
Definition: spectre.h:28
@ SPECTRE_TYPE_ABSO
Definition: spectre.h:29
std::vector< std::vector< OSpectre > > OTab2DSpectre
Spectrums 2D array.
Definition: spectre.h:474