Salome HOME
copy tag mergefrom_BR_V0_1_CC_Salome_04oct07
[modules/yacs.git] / src / engine / Plugin / maestro.cxx
1 // -*- C++ -*-
2 // -*- coding: latin_1 -*-
3 //
4 //    File
5 //      creation : 2007-02-26.04.25.45
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 //      gestionnaire des calculs
16 // 
17 //___________________________________________________________________
18
19 #include "maestro.hxx"
20
21 Maestro::Maestro(Decoder &dm, Critere *crt, Distrib &dst)
22 {
23     dom = &dm;
24     dist = &dst;
25     crit = crt;
26 }
27
28 void Maestro::put(long id, std::vector<double> &inp)
29 {
30     std::vector<double>     *tmp;
31     
32     tmp = dom->decode(inp);
33     dist->put(id, *tmp);
34     return;
35 }
36
37 std::vector<double> *Maestro::get(long *id)
38 {
39     std::vector<double>     *res, *crt;
40     
41     res = dist->get(id);
42     if (crit) {
43         crt = crit->eval(*res);
44         delete res;
45     }
46     else
47         crt = res;
48     return crt;
49 }
50
51