Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYSolverDefaultSolver.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_SOLVER_DEFAULTSOLVER__
17 #define __TY_SOLVER_DEFAULTSOLVER__
18 
19 #include <vector>
20 #include <memory>
21 #include "Tympan/core/interfaces.h"
28 
30 
35 {
36 public:
38  virtual ~TYSolverDefaultSolver();
39 
41  {
42  return _acousticModel.get();
43  }
44 
45 protected:
46  std::unique_ptr<TYAcousticModelDefaultSolver> make_acoustic_model();
47  std::unique_ptr<TYAcousticModelDefaultSolver> _acousticModel;
48 
49 private:
50  std::vector<TYTrajetDefaultSolver*> _tabTrajets;
51 
52 private:
58  void clearTabTrajets() override;
59 
63  void addNewTaskForOneTrajetSrcRcp(const tympan::AcousticProblemModel& aproblem, unsigned int src_index,
64  unsigned int rcp_index, int nbTrajetsForThisSource,
65  int nNbTrajets) override;
69  void buildAcousticModel() override;
73  void initAcousticModel() override;
77  void displayRaysInGUI(tab_acoustic_path&) override;
81  void buildResultsMatrix(int nSourceTrajetsNumber, tympan::SpectrumMatrix& matrix) override;
85  void deleteTrajets() override;
86 };
87 
88 #endif // __TY_SOLVER_DEFAULTSOLVER__
std::vector< acoustic_path * > tab_acoustic_path
This file provides the top-level declaration for the acoustic problem model.
This file provides the top-level declaration for the acoustic result model.
Acoustic model for the default solver.
std::unique_ptr< TYAcousticModelDefaultSolver > make_acoustic_model()
TYAcousticModel builder.
void addNewTaskForOneTrajetSrcRcp(const tympan::AcousticProblemModel &aproblem, unsigned int src_index, unsigned int rcp_index, int nbTrajetsForThisSource, int nNbTrajets) override
Instanciate a new task to compute a Trajet.
std::vector< TYTrajetDefaultSolver * > _tabTrajets
Vector of TYTrajetDefaultSolver.
void displayRaysInGUI(tab_acoustic_path &) override
Keep rays in tab in order to display them in GUI.
TYAcousticModelDefaultSolver * getAcousticModel()
Get acoustic model.
void initAcousticModel() override
Initialize the acoustic model.
void clearTabTrajets() override
Clear the array of TYTrajetDefaultSolver.
void buildAcousticModel() override
Build the acoustic model.
void buildResultsMatrix(int nSourceTrajetsNumber, tympan::SpectrumMatrix &matrix) override
Build the matrix of the results for a given source and all the receptors These results are the result...
void deleteTrajets() override
Delete all the Trajets.
virtual ~TYSolverDefaultSolver()
Destructor.
std::unique_ptr< TYAcousticModelDefaultSolver > _acousticModel
Pointer to the TYAcousticModel.
Class which represents the Solver for 9613 family solvers.
Definition: TYSolver.h:36
Class to describe the acoustic problem.
Spectrum matrix N*M used to store results. N is the number of receptors. M is the number of sources.
This file provides class for solver configuration.