1 | #ifndef MARS_MReportCamera
|
---|
2 | #define MARS_MReportCamera
|
---|
3 |
|
---|
4 | #ifndef MARS_MReport
|
---|
5 | #include "MReport.h"
|
---|
6 | #endif
|
---|
7 | /*
|
---|
8 | class MCameraCooling : public MParContainer
|
---|
9 | {
|
---|
10 | friend class MReportCamera;
|
---|
11 | private:
|
---|
12 | Bool_t fStatus; // Monitored status: , Cam.COOLING_state
|
---|
13 |
|
---|
14 | Bool_t fStatusPressureHi; // 0=ok, 1=Obstruct
|
---|
15 | Bool_t fStatusPressureLo; // 0=ok, 1=leakage
|
---|
16 | Bool_t fStatusPumb; // 0=off, 1=on
|
---|
17 | Bool_t fStatusRefrigrerator; // 0=off, 1=on
|
---|
18 | Bool_t fStatusValve; // 0=recirculate, 1=new
|
---|
19 | Bool_t fStatusResistor; // 0=off, 1=on
|
---|
20 | Bool_t fStatusFans; // 0=off, 1=on
|
---|
21 |
|
---|
22 | Float_t fTempCenter; // [deg C] Temperature at the camera center
|
---|
23 | Float_t fTempWall; // [deg C] Temperature at the camera wall
|
---|
24 | Float_t fTempOptLink; // [deg C] Temperature at the optical link
|
---|
25 | Float_t fTempWater; // [deg C] Temperature of the water
|
---|
26 |
|
---|
27 | Byte_t fHumAll; // [%] Relative humidity over all
|
---|
28 | Byte_t fHumCenter; // [%] Relative humidity camera center
|
---|
29 |
|
---|
30 | public:
|
---|
31 | ClassDef(MCameraCooling, 0)
|
---|
32 | };
|
---|
33 | class MCameraLid : public MParContainer
|
---|
34 | {
|
---|
35 | friend class MReportCamera;
|
---|
36 | private:
|
---|
37 | Bool_t fLimitTop; // 0=not active, 1= active
|
---|
38 | Bool_t fLimitBottom; // 0=not active, 1= active
|
---|
39 | Bool_t fSaftyLimitTop; // 0=not active, 1= active
|
---|
40 | Bool_t fSaftyLimitBottom; // 0=not active, 1= active
|
---|
41 | Byte_t fStatusLid; // 0=positioning, 1=open, 2=closed
|
---|
42 | Byte_t fStatusMotor; // 0=stopped, 1=opening, 2=closing
|
---|
43 | public:
|
---|
44 | ClassDef(MCameraLid, 0)
|
---|
45 | };
|
---|
46 | class MCameraLids : public MParContainer
|
---|
47 | {
|
---|
48 | friend class MReportCamera;
|
---|
49 | private:
|
---|
50 | MCameraLid *fLidA;
|
---|
51 | MCameraLid *fLidB;
|
---|
52 |
|
---|
53 | Bool_t fStatus; // [?] Monitored status, Cam.LID_state
|
---|
54 | public:
|
---|
55 | ClassDef(MCameraLids, 0)
|
---|
56 | };
|
---|
57 |
|
---|
58 | class MCameraPowerSupply : public MParContainer
|
---|
59 | {
|
---|
60 | friend class MReportCamera;
|
---|
61 | private:
|
---|
62 | Float_t fVoltagePos5V; // [V] voltage_pos5
|
---|
63 | Float_t fVoltagePos12V; // [V] voltage_pos12
|
---|
64 | Float_t fVoltageNeg12V; // [V] voltage_neg12
|
---|
65 | Float_t fCurrentPos5V; // [A] current_pos5
|
---|
66 | Float_t fCurrentPos12V; // [A] current_pos12
|
---|
67 | Float_t fCurrentNeg12V; // [A] current_neg12
|
---|
68 | public:
|
---|
69 | ClassDef(MCameraPowerSupply, 0)
|
---|
70 | };
|
---|
71 |
|
---|
72 | class MCameraLV : public MParContainer
|
---|
73 | {
|
---|
74 | friend class MReportCamera;
|
---|
75 | private:
|
---|
76 | Bool_t fStatus; // Monitored status: , Cam.LV_state
|
---|
77 | Bool_t fRequestPowerSupply; // Requested status: o=off, 1=on, blv_ps_status
|
---|
78 | Bool_t fRequestTemp; // Requested status: o=off, 1=on, blv_temp
|
---|
79 | Bool_t fRequestHumidity; // Requested status: o=off, 1=on, blv_RelativeHumidity
|
---|
80 |
|
---|
81 | MCameraPowerSupply fPowerSupplyA; // power supply A
|
---|
82 | MCameraPowerSupply fPowerSupplyB; // power supply B
|
---|
83 |
|
---|
84 | Float_t fVoltageOptLinkPos12V; // [V] voltage_opt_link_pos12
|
---|
85 | Float_t fVoltageOptLinkSparePos12V; // [V] voltage_opt_link_spare_pos12
|
---|
86 |
|
---|
87 | Float_t fCurrentOptLinkPos12V; // [A] current_opt_link_pos12
|
---|
88 | Float_t fCurrentOptLinkSparePos12V; // [A] current_opt_link_spare_pos12
|
---|
89 |
|
---|
90 | public:
|
---|
91 | ClassDef(MCameraLV, 0)
|
---|
92 | };
|
---|
93 |
|
---|
94 | class MCameraAUX : public MParContainer
|
---|
95 | {
|
---|
96 | friend class MReportCamera;
|
---|
97 | private:
|
---|
98 | Bool_t fRequestCaosLEDs; // Requested status: o=off, 1=on, bAux_CaOsLEDs_Off/On
|
---|
99 | Bool_t fRequestFansFADC; // Requested status: o=off, 1=on, bAux_FADC_FANs_Off/On
|
---|
100 | Bool_t fStatusCaosLEDs; // Monitored status: o=off, 1=on, Cam.CaOs.LED_state
|
---|
101 | Bool_t fStatusFansFADC; // Monitored status: o=off, 1=on, Cam.FADC.Fans_state
|
---|
102 | public:
|
---|
103 | ClassDef(MCameraAUX, 0)
|
---|
104 | };
|
---|
105 |
|
---|
106 | class MCameraCalibration : public MParContainer
|
---|
107 | {
|
---|
108 | friend class MReportCamera;
|
---|
109 | private:
|
---|
110 | Bool_t fStatus; // Monitored status: o=off, 1=on, CamCalib_state
|
---|
111 | Bool_t fStatusCANbus; // Monitored status: o=off, 1=on, Cal.CanBus_state
|
---|
112 | Bool_t fStatusIO; // Monitored status: o=off, 1=on, Cal.IO_state
|
---|
113 | Bool_t fStatusLoVoltage; // Monitored status: o=off, 1=on, Cal.LV_state
|
---|
114 |
|
---|
115 | Bool_t fRequestHiVoltage; // Requested status: o=off, 1=on, bcalib_HV_Off/On
|
---|
116 | Bool_t fRequestLoVoltage; // Requested status: o=off, 1=on, bcalib_LV_Off/On
|
---|
117 | Bool_t fRequestContLight; // Requested status: o=off, 1=on, bcalib_ContinuousLight_Off/On
|
---|
118 | Bool_t fRequestPinDiode; // Requested status: o=off, 1=on, bcalib_PinDiode_Off/On
|
---|
119 |
|
---|
120 | public:
|
---|
121 | ClassDef(MCameraCalibration, 0)
|
---|
122 | };
|
---|
123 | #include <TArrayS.h>
|
---|
124 | class MCameraHV : public MParContainer
|
---|
125 | {
|
---|
126 | friend class MReportCamera;
|
---|
127 | private:
|
---|
128 | Bool_t fStatus; // Monitored status of the High Voltage, Cam.HV.PS_state
|
---|
129 | Bool_t fStatusPowerSupply; // Monitored status of the HV Power supply, Cam.HV_state
|
---|
130 |
|
---|
131 | Short_t fVoltageA; // [V] Measured voltage of power supply A, hvps1
|
---|
132 | Short_t fVoltageB; // [V] Measured voltage of power supply B, hvps2
|
---|
133 |
|
---|
134 | Short_t fCurrentA; // [A] Measured current of power supply A, curr1
|
---|
135 | Short_t fCurrentB; // [A] Measured current of power supply B, curr2
|
---|
136 |
|
---|
137 | TArrayS fHV; // [V] Measured high Voltages for all PMTs
|
---|
138 | public:
|
---|
139 | MCameraHV() : fHV(577) { }
|
---|
140 | ClassDef(MCameraHV, 0)
|
---|
141 | };
|
---|
142 | */
|
---|
143 |
|
---|
144 | class MCameraCooling;
|
---|
145 | class MCameraLids;
|
---|
146 | class MCameraHV;
|
---|
147 | class MCameraLV;
|
---|
148 | class MCameraCalibration;
|
---|
149 |
|
---|
150 | class MReportCamera : public MReport
|
---|
151 | {
|
---|
152 | private:
|
---|
153 | Bool_t fStatus; // [?] Monitored status of the sentinel, Sentinel_state
|
---|
154 | Bool_t fStatusDC; // [?] Monitored status of the DC currents, Cam.DC_state
|
---|
155 |
|
---|
156 | MCameraCooling *fCooling;
|
---|
157 | MCameraLids *fLids;
|
---|
158 | MCameraHV *fHV;
|
---|
159 | MCameraLV *fLV;
|
---|
160 | MCameraCalibration *fCalibration;
|
---|
161 |
|
---|
162 | Bool_t SetupReading(MParList &plist);
|
---|
163 | Bool_t CheckTag(TString &str, const char *tag) const;
|
---|
164 |
|
---|
165 | Bool_t InterpreteDC(TString &str);
|
---|
166 | Bool_t InterpreteHV(TString &str);
|
---|
167 | Bool_t InterpreteCOOL(TString &str);
|
---|
168 | Bool_t InterpreteLID(TString &str);
|
---|
169 | Bool_t InterpreteHVPS(TString &str);
|
---|
170 | Bool_t InterpreteLV(TString &str);
|
---|
171 | Bool_t InterpreteAUX(TString &str);
|
---|
172 | Bool_t InterpreteCAL(TString &str);
|
---|
173 |
|
---|
174 | public:
|
---|
175 | MReportCamera();
|
---|
176 |
|
---|
177 | Bool_t InterpreteBody(TString &str);
|
---|
178 |
|
---|
179 | ClassDef(MReportCamera, 1) // Base class for control reports
|
---|
180 | };
|
---|
181 |
|
---|
182 | #endif
|
---|