Code_TYMPAN  4.4.0
Industrial site acoustic simulation
spectrum_matrix.h
Go to the documentation of this file.
1 #ifndef TY_MODELS_COMMON_MATRIX
2 #define TY_MODELS_COMMON_MATRIX
3 
4 #include <vector>
5 
7 
8 namespace tympan
9 {
11 
18 {
19 public:
20  typedef std::vector<std::vector<Spectrum>> impl_matrix_t;
21 
25  SpectrumMatrix(size_t nb_receptors, size_t nb_sources);
27  SpectrumMatrix(const SpectrumMatrix& matrix);
29  virtual ~SpectrumMatrix(){};
30 
32  size_t nb_sources() const
33  {
34  return _nb_sources;
35  };
37  size_t nb_receptors() const
38  {
39  return data.size();
40  };
41 
43  const Spectrum& operator()(size_t receptor_idx, size_t sources_idx) const;
44  Spectrum& operator()(size_t receptor_idx, size_t sources_idx);
46  void setSpectre(size_t receptor_idx, size_t sources_idx, Spectrum spectrum);
47 
49  const std::vector<Spectrum>& by_receptor(size_t receptor_idx) const;
50 
52  void clearReceptor(size_t receptor_idx);
53 
55  void clear()
56  {
57  data.clear();
58  };
59 
61  void resize(size_t nb_receptors, size_t nb_sources);
62 
63 protected:
65 
66 private:
67  size_t _nb_sources;
68 
69 }; // class SpectrumMatrix
70 
71 } // namespace tympan
72 
73 #endif
Spectrum matrix N*M used to store results. N is the number of receptors. M is the number of sources.
const std::vector< Spectrum > & by_receptor(size_t receptor_idx) const
Return a vector of Spectrum for a receptor.
void clear()
Clear the matrix.
size_t nb_sources() const
Number of columns (sources) of the matrix.
SpectrumMatrix()
Default constructor.
void clearReceptor(size_t receptor_idx)
Clear the matrix for the a given receptor.
size_t nb_receptors() const
Number of rows (receptors) of the matrix.
void setSpectre(size_t receptor_idx, size_t sources_idx, Spectrum spectrum)
Set a Spectrum into the matrix.
virtual ~SpectrumMatrix()
Destructor.
const Spectrum & operator()(size_t receptor_idx, size_t sources_idx) const
operator()
impl_matrix_t data
Matrix.
std::vector< std::vector< Spectrum > > impl_matrix_t
void resize(size_t nb_receptors, size_t nb_sources)
Resize the matrix (data is cleared)
OSpectre Spectrum
size_t receptor_idx
Definition: entities.hpp:398