Code_TYMPAN  4.4.0
Industrial site acoustic simulation
spectre.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_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 
59 typedef std::vector<double> OTabFreq;
60 
66 #define CHECK_FORM_AND_GET_CONCRETE_INSTANCE \
67  \
68  if (this->getForm() != spectre.getForm()) \
69  { \
70  throw tympan::invalid_data("Spectrums must be same form") << tympan_source_loc; \
71  } \
72  OSpectreAbstract* sp = getConcreteInstance(); \
73  OSpectreAbstract& s = *sp;
74 
82 {
84 public:
86  explicit OSpectreAbstract();
87  explicit OSpectreAbstract(TYSpectreForm form);
88 
89  explicit OSpectreAbstract(bool isValid, TYSpectreType type, TYSpectreEtat etat, TYSpectreForm form);
91  virtual OSpectreAbstract& operator=(const OSpectreAbstract& other);
93  virtual bool operator==(const OSpectreAbstract& other) const;
95  virtual bool operator!=(const OSpectreAbstract& other) const;
96 
98  OSpectreAbstract& operator+(const double& valeur) const;
99 
101  OSpectreAbstract& operator+(const OSpectreAbstract& spectre) const;
102 
104  OSpectreAbstract& operator-(const OSpectreAbstract& spectre) const;
105 
107  OSpectreAbstract& operator*(const OSpectreAbstract& spectre) const;
109  OSpectreAbstract& operator*(const double& coefficient) const;
110 
112  OSpectreAbstract& sumdB(const OSpectreAbstract& spectre) const;
113 
115  virtual double* getTabValReel() = 0;
116  virtual const double* getTabValReel() const = 0;
117 
119  virtual OSpectreAbstract* getConcreteInstance() const = 0;
120 
125  void setDefaultValue(const double& valeur = TY_SPECTRE_DEFAULT_VALUE);
126 
133  bool isValid() const
134  {
135  return _valid;
136  }
137 
141  void setValid(const bool& valid = true)
142  {
143  _valid = valid;
144  }
145 
148  {
149  return _type;
150  }
153  {
154  _type = type;
155  }
156 
159  {
160  return _etat;
161  };
163  {
164  return _etat;
165  };
166 
169  {
170  _etat = etat;
171  }
172 
175  {
176  return _form;
177  };
178 
181  {
182  _form = form;
183  }
184 
186  unsigned int getNbValues() const;
187 
188  void setDefaultValue(double module[], const unsigned int spectreNbElmt = TY_SPECTRE_DEFAULT_NB_ELMT,
189  const double& valeur = TY_SPECTRE_DEFAULT_VALUE);
190 
198  void getRangeValueReal(double* valeurs, const short& nbVal, const short& decalage);
199 
201  OSpectreAbstract& sum(const OSpectreAbstract& spectre) const;
202 
204  OSpectreAbstract& sum(const double& value) const;
205 
207  OSpectreAbstract& mult(const OSpectreAbstract& spectre) const;
208 
210  OSpectreAbstract& mult(const double& coefficient) const;
211 
213  OSpectreAbstract& div(const OSpectreAbstract& spectre) const;
214 
216  OSpectreAbstract& div(const double& coefficient) const;
217 
219  OSpectreAbstract& subst(const OSpectreAbstract& spectre) const;
220 
222  OSpectreAbstract& subst(const double& valeur) const;
223 
225  OSpectreAbstract& invMult(const double& coefficient = 1.0) const;
226 
228  OSpectreAbstract& inv() const;
229 
231  OSpectreAbstract& power(const double& puissance) const;
232 
234  OSpectreAbstract& log(const double& base = 10.0) const;
235 
237  OSpectreAbstract& racine() const;
238 
240  OSpectreAbstract& exp(const double coef = 1.0);
241 
243  OSpectreAbstract& sin() const;
244 
246  OSpectreAbstract& cos() const;
247 
249  OSpectreAbstract& abs() const;
250 
255  OSpectreAbstract& sqrt() const;
256 
261  double valMax();
262 
264  OSpectreAbstract& seuillage(const double& min = -200.0, const double max = 200.0);
265 
267  double sigma();
268  const double sigma() const;
269 
271  OSpectreAbstract& toDB() const;
272 
274  OSpectreAbstract& toGPhy() const;
275 
277  double valGlobDBLin() const;
278 
280  double valGlobDBA() const;
281 
283  OSpectreAbstract& toTOct() const;
284 
286  OSpectreAbstract& toOct() const;
287 
293 
295  virtual void printme() const;
296 
297  // === STATIC FUNCTIONS
298 
300  static OSpectreAbstract& makeOctSpect();
301 
302  // Members
303 public:
304 protected:
305  // ==== Static members
307  static double _defaultValue;
308 
309  // ==== Other members
310 
312  bool _valid;
313 
316 
319 
322 };
323 
325 {
326  // Methods
327 public:
329  OSpectre();
331  OSpectre(double defaultValue);
333  OSpectre(const OSpectre& other);
335  OSpectre(const OSpectreAbstract& other);
336 
343  OSpectre(const double* valeurs, unsigned nbVal, unsigned decalage);
345  virtual ~OSpectre();
347  OSpectre& operator=(const OSpectre& other);
348  OSpectreAbstract& operator=(const OSpectreAbstract& other) override;
350  virtual bool operator==(const OSpectre& other) const;
352  virtual bool operator!=(const OSpectre& other) const;
353 
356  double* getTabValReel() override
357  {
358  return _module;
359  }
360  const double* getTabValReel() const override
361  {
362  return _module;
363  }
364 
366  OSpectreAbstract* getConcreteInstance() const override;
367 
374  void setValue(const double& freq, const double& reel = 0.0);
375 
383  double getValueReal(double freq);
384 
386  bool isTonalite() const;
387 
388  // === STATIC FUNCTIONS
389 
391  static OSpectre getEmptyLinSpectre(const double& valInit = 1.0E-20);
392 
394  static OSpectre makeOctSpect();
395 
397  static int getIndice(const double& freq)
398  {
399  return _mapFreqIndice[freq];
400  }
401 
403  static void setFMin(const double& fMin)
404  {
405  _fMin = fMin;
406  }
408  static void setFMax(const double& fMax)
409  {
410  _fMax = fMax;
411  }
412 
420  static OTabFreq getTabFreqExact(); // XXX These are the frequencies to use in solver
421 
428 
430  static std::map<double, int> setMapFreqIndice();
431 
433  static OSpectre pondA();
434 
436  static OSpectre pondB();
437 
439  static OSpectre pondC();
440 
446  static OSpectre getLambda(const double& c);
447 
448  // Members
449 public:
450 protected:
451  // ==== Static members
452  // CAUTION Check how those static members behave in shared libraries
453 
455  static const double _freqNorm[];
456 
458  static double _fMin;
459 
461  static double _fMax;
462 
464  static std::map<double, int> _mapFreqIndice;
465 
467  double _module[TY_SPECTRE_DEFAULT_NB_ELMT];
468 };
469 
470 ::std::ostream& operator<<(::std::ostream& os, const OSpectre& s);
471 
472 typedef std::vector<OSpectre> OTabSpectre;
473 typedef std::vector<std::vector<OSpectre>> OTab2DSpectre;
474 
479 class OSpectreComplex : public OSpectre
480 {
481  // Methods
482 public:
483  OSpectreComplex();
484  OSpectreComplex(const TYComplex& defaultValue);
485  OSpectreComplex(const OSpectreComplex& other);
489  OSpectreComplex(const OSpectre& other);
493  OSpectreComplex(const OSpectre& spectre1, const OSpectre& spectre2);
494 
495  virtual ~OSpectreComplex();
498  OSpectreAbstract& operator=(const OSpectreAbstract& other) override;
499 
500  bool operator==(const OSpectreComplex& other) const;
501  bool operator!=(const OSpectreComplex& other) const;
502  OSpectreComplex operator+(const OSpectreComplex& spectre) const;
504  OSpectreComplex operator*(const OSpectreComplex& spectre) const;
506  OSpectreComplex operator*(const OSpectre& spectre) const;
508  OSpectreComplex operator*(const double& coefficient) const;
510  OSpectreComplex operator/(const OSpectreComplex& spectre) const;
511 
513  double* getTabValImag()
514  {
515  return _phase;
516  }
517  const double* getTabValImag() const
518  {
519  return _phase;
520  }
521 
529  void setValue(const double& freq, const double& reel, const double& imag = 0.0);
536  void setValue(const double& freq, const TYComplex& cplx);
545  double getValueImag(double freq, bool* pValid = 0);
550  void setPhase(const OSpectre& spectre);
555  void setPhase(const double& valeur = 0.0);
560  OSpectre getPhase() const;
564  OSpectre getModule() const;
565 
568 
569  // === STATIC FUNCTIONS
570 
572  static OSpectreComplex getCplxSpectre(const double& valInit = 1.0E-20);
573  // Members
574 public:
575 protected:
577  double _phase[TY_SPECTRE_DEFAULT_NB_ELMT];
578 };
579 
580 typedef std::vector<OSpectreComplex> OTabSpectreComplex;
581 typedef std::vector<std::vector<OSpectreComplex>> OTab2DSpectreComplex;
582 
588 {
589  // Methods
590 public:
591  OSpectreOctave();
593  OSpectreOctave(double defaultValue);
594  OSpectreOctave(const double* valeurs, unsigned nbVal, unsigned decalage);
595  OSpectreOctave(const OSpectreOctave& other);
597  OSpectreOctave(const OSpectreAbstract& other);
598 
602  OSpectreOctave(const OSpectre& other);
603 
604  virtual ~OSpectreOctave();
605 
607  OSpectreOctave& operator=(const OSpectreOctave& other);
608  OSpectreAbstract& operator=(const OSpectreAbstract& other) override;
609  bool operator==(const OSpectreOctave& other) const;
610  bool operator!=(const OSpectreOctave& other) const;
611 
613  double* getTabValReel() override
614  {
615  return _module;
616  }
617 
618  const double* getTabValReel() const override
619  {
620  return _module;
621  }
622 
624  OSpectreAbstract* getConcreteInstance() const override;
625 
632  void setValue(const double& freq, const double& reel = 0.0);
633 
634  // === STATIC FUNCTIONS
635 
637  static OSpectreOctave getEmptyLinSpectre(const double& valInit = 1.0E-20);
638 
646  static OTabFreq getTabFreqExact(); // XXX These are the frequencies to use in solver
647 
649  static OSpectreOctave pondA();
650 
656  static OSpectreOctave getLambda(const double& c);
657 
659  static std::map<double, int> setMapFreqIndice();
660 
661  // Members
662 public:
663 protected:
664  // ==== Static members
666  static std::map<double, int> _mapFreqIndice;
667 
669  static const double _freqNorm[TY_SPECTRE_OCT_NB_ELMT];
670 
672  static const double _AWeighting[TY_SPECTRE_OCT_NB_ELMT];
673 
674  // ==== Other members
675 
677  double _module[TY_SPECTRE_OCT_NB_ELMT];
678 };
679 
680 #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:82
OSpectreAbstract & power(const double &puissance) const
Return a spectrum as this spectrum raised to a double power.
Definition: spectre.cpp:389
OSpectreAbstract & sum(const OSpectreAbstract &spectre) const
Arithmetic sum of two spectrums in one-third Octave.
Definition: spectre.cpp:219
OSpectreAbstract & subst(const OSpectreAbstract &spectre) const
Arithmetic subtraction of two spectrums in one-third Octave.
Definition: spectre.cpp:316
virtual bool operator==(const OSpectreAbstract &other) const
operator==
Definition: spectre.cpp:80
const TYSpectreEtat getEtat()
Definition: spectre.h:162
bool _valid
Spectrum validity.
Definition: spectre.h:312
double valMax()
Return the maximum value of a spectrum.
Definition: spectre.cpp:522
double valGlobDBA() const
Compute the global value dB[A] of a one-third Octave spectrum.
Definition: spectre.cpp:683
static double _defaultValue
Default value for the spectrum.
Definition: spectre.h:307
void setForm(TYSpectreForm form)
Force the spectrum state (to use carefully ...)
Definition: spectre.h:180
OSpectreAbstract & toGPhy() const
Converts to physical quantity.
Definition: spectre.cpp:634
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:532
OSpectreAbstract & exp(const double coef=1.0)
Compute e^(coef * spectre) of this spectrum.
Definition: spectre.cpp:449
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:404
unsigned int getNbValues() const
Number of values in the spectrum.
Definition: spectre.cpp:182
OSpectreAbstract & invMult(const double &coefficient=1.0) const
Division of a double constant by this spectrum.
Definition: spectre.cpp:345
virtual const double * getTabValReel() const =0
double valGlobDBLin() const
Compute the global value dB[Lin] of a one-third Octave spectrum.
Definition: spectre.cpp:671
OSpectreAbstract & operator*(const OSpectreAbstract &spectre) const
Multiplication by a Spectre spectrum.
Definition: spectre.cpp:146
void setEtat(TYSpectreEtat etat)
Force the spectrum state (to use carefully ...)
Definition: spectre.h:168
OSpectreAbstract()
Methods.
Definition: spectre.cpp:53
void setType(TYSpectreType type)
Set the spectrum type.
Definition: spectre.h:152
double sigma()
Sum the values of the spectrum.
Definition: spectre.cpp:553
TYSpectreEtat getEtat() const
Get the spectrum state.
Definition: spectre.h:158
virtual void printme() const
Print the spectrum.
Definition: spectre.cpp:822
TYSpectreType getType() const
Get the spectrum type.
Definition: spectre.h:147
OSpectreAbstract & abs() const
Return the absolute value of this spectrum.
Definition: spectre.cpp:493
TYSpectreForm _form
Representation of the spectrum: one-third Octave, Octave, constant delta f, unstructured.
Definition: spectre.h:321
OSpectreAbstract & toTOct() const
Converts to one-third Octave.
Definition: spectre.cpp:701
OSpectreAbstract & div(const OSpectreAbstract &spectre) const
Division of two spectrums.
Definition: spectre.cpp:273
OSpectreAbstract & sqrt() const
Return the root square of a spectrum.
Definition: spectre.cpp:507
void setValid(const bool &valid=true)
Definition: spectre.h:141
OSpectreAbstract & racine() const
Compute the root square of this spectrum.
Definition: spectre.cpp:427
OSpectreAbstract & sin() const
Compute the sin of this spectrum.
Definition: spectre.cpp:464
void getRangeValueReal(double *valeurs, const short &nbVal, const short &decalage)
Definition: spectre.cpp:211
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:197
TYSpectreForm getForm() const
Get the spectrum form.
Definition: spectre.h:174
TYSpectreEtat _etat
Spectrum state (physical quantity or dB).
Definition: spectre.h:318
static OSpectreAbstract & makeOctSpect()
Make a spectrum in Octave.
Definition: spectre.cpp:832
OSpectreAbstract & operator-(const OSpectreAbstract &spectre) const
Arithmetic subtraction of two spectrums in one-third Octave.
Definition: spectre.cpp:134
OSpectreAbstract & cos() const
Compute the cos of this spectrum.
Definition: spectre.cpp:478
OSpectreAbstract & toDB() const
Converts to dB.
Definition: spectre.cpp:590
OSpectreAbstract & toOct() const
Converts to Octave.
Definition: spectre.cpp:768
OSpectreAbstract & round()
Definition: spectre.cpp:573
OSpectreAbstract & mult(const OSpectreAbstract &spectre) const
Multiplication of two spectrums.
Definition: spectre.cpp:243
TYSpectreType _type
Spectrum type.
Definition: spectre.h:315
bool isValid() const
Check the spectrum validity. Invalidity is caused by: corrupted data, impossible calculation.
Definition: spectre.h:133
OSpectreAbstract & sumdB(const OSpectreAbstract &spectre) const
Energetic sum of two spectrums.
Definition: spectre.cpp:171
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:367
OSpectreComplex & operator=(const OSpectreComplex &other)
operators
Definition: spectre.cpp:1185
void setPhase(const OSpectre &spectre)
Definition: spectre.cpp:1349
bool operator!=(const OSpectreComplex &other) const
Definition: spectre.cpp:1242
double getValueImag(double freq, bool *pValid=0)
Definition: spectre.cpp:1343
void setValue(const double &freq, const double &reel, const double &imag=0.0)
Definition: spectre.cpp:1331
double _phase[TY_SPECTRE_DEFAULT_NB_ELMT]
Array of the imaginary numbers (phase)
Definition: spectre.h:577
OSpectre getModule() const
Definition: spectre.cpp:1375
OSpectreComplex toModulePhase() const
Conversion to module/phase.
Definition: spectre.cpp:1385
OSpectre getPhase() const
Definition: spectre.cpp:1365
static OSpectreComplex getCplxSpectre(const double &valInit=1.0E-20)
Build a OSpectreComplex complex spectrum.
Definition: spectre.cpp:1404
const double * getTabValImag() const
Definition: spectre.h:517
OSpectreComplex operator+(const OSpectreComplex &spectre) const
Definition: spectre.cpp:1247
bool operator==(const OSpectreComplex &other) const
Definition: spectre.cpp:1224
OSpectreComplex operator/(const OSpectreComplex &spectre) const
Divide a complex spectrum by another one.
Definition: spectre.cpp:1315
OSpectreComplex operator*(const OSpectreComplex &spectre) const
Product of two complex spectrums (module/phase)
Definition: spectre.cpp:1269
double * getTabValImag()
Get an array of the imaginary values of the spectrum.
Definition: spectre.h:513
virtual ~OSpectreComplex()
Definition: spectre.cpp:1183
virtual ~OSpectreOctave()
Definition: spectre.cpp:1485
OSpectreAbstract * getConcreteInstance() const override
Return an instance of a concrete class of the same type as current.
Definition: spectre.cpp:1562
static OSpectreOctave getLambda(const double &c)
Definition: spectre.cpp:1591
static OSpectreOctave pondA()
Build a weighted spectrum A.
Definition: spectre.cpp:1586
double _module[TY_SPECTRE_OCT_NB_ELMT]
Real values array for module.
Definition: spectre.h:677
static const double _AWeighting[TY_SPECTRE_OCT_NB_ELMT]
A weighting for ponderation A computation.
Definition: spectre.h:672
static OSpectreOctave getEmptyLinSpectre(const double &valInit=1.0E-20)
Create a physical quantity spectrum.
Definition: spectre.cpp:1616
bool operator!=(const OSpectreOctave &other) const
Definition: spectre.cpp:1557
void setValue(const double &freq, const double &reel=0.0)
Definition: spectre.cpp:1567
bool operator==(const OSpectreOctave &other) const
Definition: spectre.cpp:1538
static OTabFreq getTabFreqExact()
Definition: spectre.cpp:1575
static const double _freqNorm[TY_SPECTRE_OCT_NB_ELMT]
Array of center frequencies (Hz) normalized in one-third Octave.
Definition: spectre.h:669
static std::map< double, int > setMapFreqIndice()
Build frequency/index map.
Definition: spectre.cpp:1604
const double * getTabValReel() const override
Definition: spectre.h:618
static std::map< double, int > _mapFreqIndice
Mapping between frequency and array index.
Definition: spectre.h:666
OSpectreOctave & operator=(const OSpectreOctave &other)
operators
Definition: spectre.cpp:1487
double * getTabValReel() override
Get an array of the real values of the spectrum.
Definition: spectre.h:613
static OSpectre getOSpectreFreqExact()
Return the spectrum of the exact frequencies.
Definition: spectre.cpp:989
const double * getTabValReel() const override
Definition: spectre.h:360
virtual bool operator!=(const OSpectre &other) const
operator !=
Definition: spectre.cpp:943
OSpectre & operator=(const OSpectre &other)
operator=
Definition: spectre.cpp:882
static OSpectre getLambda(const double &c)
Definition: spectre.cpp:1062
static std::map< double, int > _mapFreqIndice
Mapping between frequency and array index.
Definition: spectre.h:464
static std::map< double, int > setMapFreqIndice()
Construction du tableau frequence/indice.
Definition: spectre.cpp:967
void setValue(const double &freq, const double &reel=0.0)
Definition: spectre.cpp:953
double _module[TY_SPECTRE_DEFAULT_NB_ELMT]
Real values array for module.
Definition: spectre.h:467
OSpectreAbstract * getConcreteInstance() const override
Return an instance of a concrete class of the same type as current.
Definition: spectre.cpp:948
static double _fMin
Minimal frequency.
Definition: spectre.h:458
static OSpectre getEmptyLinSpectre(const double &valInit=1.0E-20)
Create a physical quantity spectrum.
Definition: spectre.cpp:1115
double * getTabValReel() override
Definition: spectre.h:356
static void setFMax(const double &fMax)
Define maximal frequency.
Definition: spectre.h:408
static const double _freqNorm[]
Array of center frequencies (Hz) normalized in one-third Octave.
Definition: spectre.h:455
virtual ~OSpectre()
Destructor.
Definition: spectre.cpp:880
bool isTonalite() const
Existence d'une tonalite marquee.
Definition: spectre.cpp:1076
static void setFMin(const double &fMin)
Define minimal frequency.
Definition: spectre.h:403
static OSpectre pondC()
Build a weighted spectrum C.
Definition: spectre.cpp:1043
virtual bool operator==(const OSpectre &other) const
operator==
Definition: spectre.cpp:924
static OSpectre pondB()
Build a weighted spectrum B.
Definition: spectre.cpp:1021
static OSpectre pondA()
Build a weighted spectrum A.
Definition: spectre.cpp:999
OSpectre()
Default constructor, the spectrum module is defined by the _defaultValue.
Definition: spectre.cpp:838
double getValueReal(double freq)
Definition: spectre.cpp:959
static double _fMax
Maximal frequency.
Definition: spectre.h:461
static OSpectre makeOctSpect()
Make a spectrum in Octave.
Definition: spectre.cpp:1122
static int getIndice(const double &freq)
Return the index associated to a frequency.
Definition: spectre.h:397
static OTabFreq getTabFreqExact()
Definition: spectre.cpp:979
std::complex< double > TYComplex
Definition: macros.h:25
std::vector< double > OTabFreq
Frequencies collection.
Definition: spectre.h:59
std::vector< std::vector< OSpectreComplex > > OTab2DSpectreComplex
OTabSpectreComplex 2D array.
Definition: spectre.h:581
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:1129
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:472
std::vector< OSpectreComplex > OTabSpectreComplex
OTabSpectreComplex vector.
Definition: spectre.h:580
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:473