1 | // toilldiluproducer.cc
|
---|
2 | // Eric Aubourg CEA/DAPNIA/SPP octobre 1999
|
---|
3 |
|
---|
4 | #include "toilldiluproducer.h"
|
---|
5 | #include "archfileset.h"
|
---|
6 | #include "toimanager.h"
|
---|
7 | #include "requesthandler.h"
|
---|
8 |
|
---|
9 | #define dilDAC "dilDAC"
|
---|
10 | #define dilSwitch "dilSwitch"
|
---|
11 | #define voyantEVO "voyantEVO"
|
---|
12 | #define voyantEVF "voyantEVF"
|
---|
13 | #define commandeEV0 "commandeEV0"
|
---|
14 | #define commandeEVF "commandeEVF"
|
---|
15 | #define commandeEVB "commandeEVB"
|
---|
16 | #define commandeEVV "commandeEVV"
|
---|
17 | #define pressEnt3He "pressEnt3He"
|
---|
18 | #define debit3He "debit3He"
|
---|
19 | #define pressSor3He "pressSor3He"
|
---|
20 | #define pressEnt4He "pressEnt4He"
|
---|
21 | #define debit4He "debit4He"
|
---|
22 | #define pressSor4He "pressSor4He"
|
---|
23 | #define pressAirVanne "pressAirVanne"
|
---|
24 | #define pressPompChar "pressPompChar"
|
---|
25 | #define pressMembrane "pressMembrane"
|
---|
26 | #define pressExterne "pressExterne"
|
---|
27 | #define tensPile10T "tensPile10T"
|
---|
28 | #define tensPileP18D "tensPileP18D"
|
---|
29 | #define tensPileM18D "tensPileM18D"
|
---|
30 | #define tensPile10B "tensPile10B"
|
---|
31 | #define tensPileP18B "tensPileP18B"
|
---|
32 | #define tensPileM18B "tensPileM18B"
|
---|
33 | #define tensPileCh "tensPileCh"
|
---|
34 | #define swPile5 "swPile5"
|
---|
35 | #define swPile15 "swPile15"
|
---|
36 | #define tempCaissH1 "tempCaissH1"
|
---|
37 | #define tempCaissH2 "tempCaissH2"
|
---|
38 | #define tempCaissB1 "tempCaissB1"
|
---|
39 | #define tempCaissB2 "tempCaissB2"
|
---|
40 | #define tempCaissTHe "tempCaissTHe"
|
---|
41 | #define tempCaissPiles "tempCaissPiles"
|
---|
42 | #define tempCaissDrv "tempCaissDrv"
|
---|
43 | #define pressHeBain "pressHeBain"
|
---|
44 | #define pressPirani "pressPirani"
|
---|
45 |
|
---|
46 |
|
---|
47 | TOILLDiluProducer::TOILLDiluProducer()
|
---|
48 | {
|
---|
49 | possibleTOIs.insert(TOI(dilDAC, TOI::all, "", "ADU"));
|
---|
50 | possibleTOIs.insert(TOI(dilSwitch, TOI::unspec, "", "LONGWORD"));
|
---|
51 |
|
---|
52 | possibleTOIs.insert(TOI(voyantEVO, TOI::unspec, "", "BOOLEAN"));
|
---|
53 | possibleTOIs.insert(TOI(voyantEVF, TOI::unspec, "", "BOOLEAN"));
|
---|
54 | possibleTOIs.insert(TOI(commandeEV0, TOI::unspec, "", "BOOLEAN"));
|
---|
55 | possibleTOIs.insert(TOI(commandeEVF, TOI::unspec, "", "BOOLEAN"));
|
---|
56 | possibleTOIs.insert(TOI(commandeEVB, TOI::unspec, "", "BOOLEAN"));
|
---|
57 | possibleTOIs.insert(TOI(commandeEVV, TOI::unspec, "", "BOOLEAN"));
|
---|
58 |
|
---|
59 | possibleTOIs.insert(TOI(pressEnt3He, TOI::unspec, "", "bars"));
|
---|
60 | possibleTOIs.insert(TOI(debit3He, TOI::unspec, "", "microMoles"));
|
---|
61 | possibleTOIs.insert(TOI(pressSor3He, TOI::unspec, "", "bars"));
|
---|
62 |
|
---|
63 | possibleTOIs.insert(TOI(pressEnt4He, TOI::unspec, "", "bars"));
|
---|
64 | possibleTOIs.insert(TOI(debit4He, TOI::unspec, "", "microMoles"));
|
---|
65 | possibleTOIs.insert(TOI(pressSor4He, TOI::unspec, "", "bars"));
|
---|
66 |
|
---|
67 | possibleTOIs.insert(TOI(pressAirVanne, TOI::unspec, "", "bars"));
|
---|
68 | possibleTOIs.insert(TOI(pressPompChar, TOI::unspec, "", "bars"));
|
---|
69 | possibleTOIs.insert(TOI(pressMembrane, TOI::unspec, "", "bars"));
|
---|
70 | possibleTOIs.insert(TOI(pressExterne, TOI::unspec, "", "bars"));
|
---|
71 |
|
---|
72 | possibleTOIs.insert(TOI(tensPile10T, TOI::unspec, "", "Volts"));
|
---|
73 | possibleTOIs.insert(TOI(tensPileP18D, TOI::unspec, "", "Volts"));
|
---|
74 | possibleTOIs.insert(TOI(tensPileM18D, TOI::unspec, "", "Volts"));
|
---|
75 | possibleTOIs.insert(TOI(tensPile10B, TOI::unspec, "", "Volts"));
|
---|
76 | possibleTOIs.insert(TOI(tensPileP18B, TOI::unspec, "", "Volts"));
|
---|
77 | possibleTOIs.insert(TOI(tensPileM18B, TOI::unspec, "", "Volts"));
|
---|
78 | possibleTOIs.insert(TOI(tensPileCh, TOI::unspec, "", "Volts"));
|
---|
79 |
|
---|
80 | possibleTOIs.insert(TOI(swPile5, TOI::unspec, "", "BOOLEAN"));
|
---|
81 | possibleTOIs.insert(TOI(swPile15, TOI::unspec, "", "BOOLEAN"));
|
---|
82 |
|
---|
83 | possibleTOIs.insert(TOI(tempCaissH1, TOI::unspec, "", "Kelvin"));
|
---|
84 | possibleTOIs.insert(TOI(tempCaissH2, TOI::unspec, "", "Kelvin"));
|
---|
85 | possibleTOIs.insert(TOI(tempCaissB1, TOI::unspec, "", "Kelvin"));
|
---|
86 | possibleTOIs.insert(TOI(tempCaissB2, TOI::unspec, "", "Kelvin"));
|
---|
87 | possibleTOIs.insert(TOI(tempCaissTHe, TOI::unspec, "", "Kelvin"));
|
---|
88 | possibleTOIs.insert(TOI(tempCaissPiles,TOI::unspec, "", "Kelvin"));
|
---|
89 | possibleTOIs.insert(TOI(tempCaissDrv, TOI::unspec, "", "Kelvin"));
|
---|
90 |
|
---|
91 | possibleTOIs.insert(TOI(pressHeBain, TOI::unspec, "", "bars"));
|
---|
92 | possibleTOIs.insert(TOI(pressPirani, TOI::unspec, "", "bars"));
|
---|
93 | }
|
---|
94 |
|
---|
95 | string TOILLDiluProducer::getName() {
|
---|
96 | return("TOILLDiluProducer 1.0");
|
---|
97 | }
|
---|
98 |
|
---|
99 | #define COMPTOI(_toi_, _func_) \
|
---|
100 | if ((*i).name == _toi_) { \
|
---|
101 | computedValue((*i),sample0, _func_(blk)); \
|
---|
102 | }
|
---|
103 |
|
---|
104 | void TOILLDiluProducer::handleBlock(ArchFileSet* fs)
|
---|
105 | {
|
---|
106 | block_type_dilution* blk = fs->lastDilution();
|
---|
107 | long sample0 = numero_block(blk)*72;
|
---|
108 | for (set<TOI>::iterator i = producedTOIs.begin(); i != producedTOIs.end(); i++) {
|
---|
109 | COMPTOI(voyantEVO, voyant_EVO) else
|
---|
110 | COMPTOI(voyantEVF, voyant_EVF) else
|
---|
111 | COMPTOI(commandeEV0, commande_EVO) else
|
---|
112 | COMPTOI(commandeEVF, commande_EVF) else
|
---|
113 | COMPTOI(commandeEVB, commande_EVB) else
|
---|
114 | COMPTOI(commandeEVV, commande_EVV) else
|
---|
115 | COMPTOI(pressEnt3He, pression_entree_3He) else
|
---|
116 | COMPTOI(debit3He, debit_3He) else
|
---|
117 | COMPTOI(pressSor3He, pression_sortie_3He) else
|
---|
118 | COMPTOI(pressEnt4He, pression_entree_4He) else
|
---|
119 | COMPTOI(debit4He, debit_4He) else
|
---|
120 | COMPTOI(pressSor4He, pression_sortie_4He) else
|
---|
121 | COMPTOI(pressAirVanne, pression_air_vanne) else
|
---|
122 | COMPTOI(pressPompChar, pression_pompe_charbon) else
|
---|
123 | COMPTOI(pressMembrane, pression_membranne) else
|
---|
124 | COMPTOI(pressExterne, pression_externe) else
|
---|
125 | COMPTOI(tensPile10T, tension_pile_10T) else
|
---|
126 | COMPTOI(tensPileP18D, tension_pile_p18D) else
|
---|
127 | COMPTOI(tensPileM18D, tension_pile_m18D) else
|
---|
128 | COMPTOI(tensPile10B, tension_pile_10B) else
|
---|
129 | COMPTOI(tensPileP18B, tension_pile_p18B) else
|
---|
130 | COMPTOI(tensPileM18B, tension_pile_m18B) else
|
---|
131 | COMPTOI(tensPileCh, tension_pile_Ch) else
|
---|
132 | COMPTOI(swPile5, switch_pile_5) else
|
---|
133 | COMPTOI(swPile15, switch_pile_15) else
|
---|
134 | COMPTOI(tempCaissH1, temperature_caisson_haut1) else
|
---|
135 | COMPTOI(tempCaissH2, temperature_caisson_haut2) else
|
---|
136 | COMPTOI(tempCaissB1, temperature_caisson_bas1) else
|
---|
137 | COMPTOI(tempCaissB2, temperature_caisson_bas2) else
|
---|
138 | COMPTOI(tempCaissTHe, temperature_caisson_tube_helium) else
|
---|
139 | COMPTOI(tempCaissPiles, temperature_caisson_piles) else
|
---|
140 | COMPTOI(tempCaissDrv, temperature_caisson_driver_moteur) else
|
---|
141 | COMPTOI(pressHeBain, pression_helium_bain) else
|
---|
142 | COMPTOI(pressPirani, pression_pirani)
|
---|
143 | if ((*i).name == dilDAC) {
|
---|
144 | int k = (*i).index;
|
---|
145 | computedValue((*i), sample0, blk->ADC_dil[k]);
|
---|
146 | } else
|
---|
147 | if ((*i).name == dilSwitch) {
|
---|
148 | computedValue((*i), sample0, blk->switch_dil);
|
---|
149 | }
|
---|
150 | }
|
---|
151 | }
|
---|
152 |
|
---|
153 |
|
---|
154 |
|
---|