Salome HOME
copy tag mergefrom_BR_V0_1_CC_Salome_04oct07
[modules/yacs.git] / src / engine / Plugin / saemul.hxx
1 // -*- C++ -*-
2 // -*- coding: latin_1 -*-
3 //
4 //    File
5 //      creation : 2007-03-23.02.09.11
6 //      revision : $Id$
7 //
8 //    Copyright © 2007 Commissariat à l'Energie Atomique
9 //      par Gilles ARNAUD (DM2S/SFME/LETR)
10 //        C.E. Saclay; Bat 454; 91191 GIF/YVETTE CEDEX; France
11 //        Tel: 01 69 08 38 86; Fax : 33 1 69 08 85 68 
12 //        Gilles.Arnaud@cea.fr
13 // 
14 //    Object
15 //      class emulateur superviseur salome
16 // 
17 //___________________________________________________________________
18
19 #ifndef __SASUPER__
20 #define __SASUPER__
21
22 #include <vector>
23 #include <queue>
24 #include <utility>
25
26 #include "salomesup.hxx"
27
28 #include "saclass.hxx"
29
30 class Emulator : public Superviseur {
31     protected :
32         SalomeTest      *solver;
33         std::queue<std::pair<long, std::vector<double> *> >     q;
34         std::vector<double> *out;
35         
36         std::vector<double> *eval(std::vector<double> &x);
37     public :
38         Emulator(void);
39         ~Emulator(void);
40         void destroyAll(void);
41         void push(long id, std::vector<double> &cal);
42         long getCurrentId(void);
43         std::vector<double> *getCurrentOut(void);
44         void run(void);
45 };
46
47 #endif
48