/[PAMELA software]/yoda/techmodel/ReaderAlgorithms.h
ViewVC logotype

Annotation of /yoda/techmodel/ReaderAlgorithms.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5.1 - (hide annotations) (download)
Sat Feb 4 12:37:45 2006 UTC (18 years, 10 months ago) by kusanagi
Branch: MAIN
Changes since 5.0: +18 -52 lines
File MIME type: text/plain
Several new features in this release:
a) all the packets are conform to the Mass Memory Format specifications (http://people.roma2.infn.it/~cpu/Mass_Memory_Format.html)
b) unpacking either using the old files structure OR the new one file unpacking.
c) parametrized root files compression factor
d) deleting of the following packet: TofTest, TrkTest, TrkEvent.
e) the Tracker routines now work without the use of temp files.

The point a) allow Yoda to unpack in the root file all the packets generated by the CPU. According to the MassMemoryFormat; that is three possible data are available:

1) almost explicit structure of the packet (like for Log, Tracker, Mcmd, etc....);
2) dummy data collection structure (InitHeader, InitTrailer, CalibHeader, CalibTrailer);
3) just the data of the packet (almost all Alarm and Init procedures). The class regarding this packets have only one parameters, a TArrayC class, which contain the data-block included in the packet (tat is the data below the packet Header).

The point b) has been implemented as a consequence of an agreement about a more compact structure of the unpacked data. Up to now the structure of each unpacked data consisted of a folder, named after the packet type, and three files: xxx.Header.root, xxx.NamePacket.root, xxx.Registry.root.
Starting from this release YODA, by default will unpack the data in a unique root file. The structure of this file will consist of:
- several TTree(s) named after the packet type;
- into each TTree are foreseen three TBranche(s):
    - 'Header'  (the old xxx.Header.root file)
    - 'NameOfThePacket' (the old xxx.Event.root file or the xxx.Event.DETECTOR.root)
    - 'Registry' (the old xxx.Registry.root file)

Anyway is still possible, but deprecated, to unpack using the old structure, passing to the "yoda" command the optional parameter "-multifile"

The point c) has been implemented because is well know that writing time in a TTree is as much fast as much lower is the compression factor for the root file; anyway for a PAMELA dat file, a compression equal to 0 will generate a root file which will be more than two times the original size. To modify the compression parameter just add the optional parameter "-c [0-9]" to the yoda command line.

1 kusanagi 1.1 /** @file
2 kusanagi 5.1 * $Author: Maurizio Nagni $
3     * $Date: 2005/08/29 09:46:13 $
4     * $Revision: 5.0 $
5 kusanagi 1.1 *
6     * Header file for the algorithms used to read the techmodel data file.
7     */
8    
9     #ifndef READER_ALGORITHM_H
10     #define READER_ALGORITHM_H
11    
12     #include "TechmodelAlgorithm.h"
13     #include "PscuEvent.h"
14    
15    
16 kusanagi 2.9 #include "endrun/PhysEndRunEvent.h"
17 kusanagi 1.7 #include "CalibCalPulse1Event.h"
18     #include "CalibCalPulse2Event.h"
19     #include "physics/TrackerReader.h"
20     #include "physics/AnticounterReader.h"
21     #include "physics/CalorimeterReader.h"
22     #include "physics/NeutronDetectorReader.h"
23 kusanagi 2.3 #include "physics/S4Reader.h"
24 kusanagi 2.7 #include "physics/TofReader.h"
25     #include "physics/TriggerReader.h"
26 kusanagi 1.2 #include "CalibTrk1Event.h"
27     #include "CalibTrk2Event.h"
28 kusanagi 1.1 #include "CalibTofEvent.h"
29     #include "CalibS4Event.h"
30 kusanagi 1.7 #include "CalibCalPedEvent.h"
31 kusanagi 2.4 #include "Calib1_Ac1Event.h"
32     #include "Calib1_Ac2Event.h"
33     #include "Calib2_Ac1Event.h"
34     #include "Calib2_Ac2Event.h"
35 kusanagi 1.1 #include "RunHeaderEvent.h"
36     #include "RunTrailerEvent.h"
37 kusanagi 1.7 #include "CalibHeaderEvent.h"
38     #include "CalibTrailerEvent.h"
39     #include "InitHeaderEvent.h"
40     #include "InitTrailerEvent.h"
41     #include "log/LogEvent.h"
42     #include "varDump/VarDumpEvent.h"
43     #include "arrDump/ArrDumpEvent.h"
44     #include "tabDump/TabDumpEvent.h"
45 kusanagi 2.9 #include "tsbt/TsbTEvent.h"
46     #include "tsbb/TsbBEvent.h"
47 kusanagi 1.1 #include "tmtc/TmtcEvent.h"
48     #include "mcmd/McmdEvent.h"
49 kusanagi 1.7 #include "ForcedFECmdEvent.h"
50 kusanagi 2.4 #include "Ac1InitEvent.h"
51 kusanagi 1.7 #include "CalInitEvent.h"
52     #include "TrkInitEvent.h"
53     #include "TofInitEvent.h"
54     #include "TrgInitEvent.h"
55 kusanagi 2.1 #include "NdInitEvent.h"
56 kusanagi 2.3 #include "S4InitEvent.h"
57 kusanagi 2.4 #include "Ac2InitEvent.h"
58 kusanagi 1.8 #include "CalAlarmEvent.h"
59     #include "AcAlarmEvent.h"
60     #include "TrkAlarmEvent.h"
61     #include "TrgAlarmEvent.h"
62     #include "TofAlarmEvent.h"
63 kusanagi 2.3 #include "S4AlarmEvent.h"
64 kusanagi 5.1 #include <fstream>
65     #include <log4cxx/logger.h>
66    
67     extern "C" {
68     #include "CRC.h"
69     }
70 kusanagi 1.7
71 kusanagi 1.1 using namespace std;
72    
73     namespace pamela {
74     namespace techmodel {
75 kusanagi 1.7
76 kusanagi 5.1 /**
77     Event reader algorithm for PhysEndRun events.
78     *
79     */
80 kusanagi 1.7 class PhysEndRunReader: public TechmodelAlgorithm {
81     private:
82     /** The PhysEndRun event that is created in the reader. */
83     PhysEndRunEvent* physEndRun;
84     public:
85 kusanagi 5.1 /**
86     * Constructor
87     * @param
88     * @return
89     */
90 kusanagi 1.7 PhysEndRunReader(void);
91     virtual void Init(PamelaRun *);
92 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
93 kusanagi 1.7 //this type of RUNEvent should be the future develop.
94     //Pass the buffer not the pointer to file
95     //virtual void RunEvent(int, long int, char[]);
96     virtual std::string GetVersionInfo(void) const;
97     };
98    
99    
100     /**********************************************
101     * Event reader algorithm for CalibCalPulse1 events.
102     **********************************************/
103     class CalibCalPulse1Reader: public TechmodelAlgorithm {
104     private:
105     /** The CalibCalPulse1 event that is created in the reader. */
106     CalibCalPulse1Event* calibCalPulse1;
107     public:
108     CalibCalPulse1Reader(void);
109     virtual void Init(PamelaRun *);
110 kusanagi 2.2 virtual void RunEvent(int, long int) throw (Exception);
111 kusanagi 1.7 //this type of RUNEvent should be the future develop.
112     //Pass the buffer not the pointer to file
113     //virtual void RunEvent(int, long int, char[]);
114     virtual std::string GetVersionInfo(void) const;
115     };
116    
117    
118     /**********************************************
119     * Event reader algorithm for CalibCalPulse2 events.
120     **********************************************/
121     class CalibCalPulse2Reader: public TechmodelAlgorithm {
122     private:
123     /** The CalibCalPulse2 event that is created in the reader. */
124     CalibCalPulse2Event* calibCalPulse2;
125     public:
126     CalibCalPulse2Reader(void);
127     virtual void Init(PamelaRun *);
128 kusanagi 2.2 virtual void RunEvent(int, long int) throw (Exception);
129 kusanagi 1.7 //this type of RUNEvent should be the future develop.
130     //Pass the buffer not the pointer to file
131     //virtual void RunEvent(int, long int, char[]);
132     virtual std::string GetVersionInfo(void) const;
133     };
134    
135    
136     /**********************************************
137     * Event reader algorithm for physics events.
138     **********************************************/
139 kusanagi 1.1 class PhysicsReader: public TechmodelAlgorithm {
140     private:
141     /** The reader for tracker physics events. */
142 kusanagi 1.5 tracker::TrackerReader* trackerReader;
143     anticounter::AnticounterReader* anticounterReader;
144     calorimeter::CalorimeterReader* calorimeterReader;
145 kusanagi 1.7 neutron::NeutronDetectorReader* neutronReader;
146 kusanagi 2.3 S4::S4Reader* s4Reader;
147 kusanagi 2.7 tof::TofReader* tofReader;
148     trigger::TriggerReader* triggerReader;
149 kusanagi 1.1 public:
150     PhysicsReader(void);
151     virtual void Init(PamelaRun *);
152 kusanagi 2.2 virtual void RunEvent(int, long int) throw (Exception);
153 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
154     };
155    
156 kusanagi 1.7
157     /**********************************************
158     * Event reader algorithm for CalibTrk1 events.
159     **********************************************/
160     class CalibTrk1Reader: public TechmodelAlgorithm {
161     private:
162     /** The CalibTrk1 event that is created in the reader. */
163     CalibTrk1Event* calibTrk1;
164     public:
165     CalibTrk1Reader(void);
166     virtual void Init(PamelaRun *);
167 kusanagi 2.2 virtual void RunEvent(int, long int) throw (Exception);
168 kusanagi 1.7 //this type of RUNEvent should be the future develop.
169     //Pass the buffer not the pointer to file
170     //virtual void RunEvent(int, long int, char[]);
171     virtual std::string GetVersionInfo(void) const;
172     };
173    
174    
175     /**********************************************
176     * Event reader algorithm for CalibTrk2 events.
177     **********************************************/
178     class CalibTrk2Reader: public TechmodelAlgorithm {
179     private:
180     /** The CalibTrk2 event that is created in the reader. */
181     CalibTrk2Event* calibTrk2;
182     public:
183     CalibTrk2Reader(void);
184     virtual void Init(PamelaRun *);
185 kusanagi 2.2 virtual void RunEvent(int, long int) throw (Exception);
186 kusanagi 1.7 virtual std::string GetVersionInfo(void) const;
187     };
188    
189    
190     /**********************************************
191     * Event reader algorithm for CalibTof events.
192     **********************************************/
193     class CalibTofReader: public TechmodelAlgorithm {
194     private:
195     /** The CalibTof event that is created in the reader. */
196     CalibTofEvent* CalibTof;
197     public:
198     CalibTofReader(void);
199     virtual void Init(PamelaRun *);
200 kusanagi 2.2 virtual void RunEvent(int, long int) throw (Exception);
201 kusanagi 1.7 virtual std::string GetVersionInfo(void) const;
202     };
203    
204    
205     /**********************************************
206     * Event reader algorithm for CalibS4 events.
207     **********************************************/
208     class CalibS4Reader: public TechmodelAlgorithm {
209     private:
210     /** The CalibCal event that is created in the reader. */
211 kusanagi 2.4 CalibS4Event* calibS4;
212 kusanagi 1.7 public:
213     CalibS4Reader(void);
214     virtual void Init(PamelaRun *);
215 kusanagi 2.8 virtual void RunEvent(int, long int) throw (WrongCRCException);
216 kusanagi 1.7 virtual std::string GetVersionInfo(void) const;
217     };
218    
219    
220     /**********************************************
221     * Event reader algorithm for CalibCalPed events.
222     **********************************************/
223     class CalibCalPedReader: public TechmodelAlgorithm {
224     private:
225     /** The CalibCalPed event that is created in the reader. */
226     CalibCalPedEvent* calibCalPed;
227     public:
228     CalibCalPedReader(void);
229     virtual void Init(PamelaRun *);
230 kusanagi 2.2 virtual void RunEvent(int, long int) throw (Exception);
231 kusanagi 1.7 virtual std::string GetVersionInfo(void) const;
232     };
233    
234    
235     /***********************************************
236 kusanagi 2.4 * Event reader algorithm for Calib1_Ac1 events.
237 kusanagi 1.7 **********************************************/
238 kusanagi 2.4 class Calib1_Ac1Reader: public TechmodelAlgorithm {
239 kusanagi 1.7 private:
240     /** The CalibAc event that is created in the reader. */
241 kusanagi 2.4 Calib1_Ac1Event* calib1_Ac1;
242 kusanagi 1.7 public:
243 kusanagi 2.4 Calib1_Ac1Reader(void);
244     virtual void Init(PamelaRun *);
245     virtual void RunEvent(int, long int) throw (Exception);
246     virtual std::string GetVersionInfo(void) const;
247     };
248    
249    
250     /***********************************************
251     * Event reader algorithm for Calib1_Ac2 events.
252     **********************************************/
253     class Calib1_Ac2Reader: public TechmodelAlgorithm {
254     private:
255     /** The Calib1_Ac2 event that is created in the reader. */
256     Calib1_Ac2Event* calib1_Ac2;
257     public:
258     Calib1_Ac2Reader(void);
259     virtual void Init(PamelaRun *);
260     virtual void RunEvent(int, long int) throw (Exception);
261     virtual std::string GetVersionInfo(void) const;
262     };
263    
264     /***********************************************
265     * Event reader algorithm for Calib2_Ac1 events.
266     **********************************************/
267     class Calib2_Ac1Reader: public TechmodelAlgorithm {
268     private:
269     /** The Calib2_Ac1 event that is created in the reader. */
270     Calib2_Ac1Event* calib2_Ac1;
271     public:
272     Calib2_Ac1Reader(void);
273     virtual void Init(PamelaRun *);
274     virtual void RunEvent(int, long int) throw (Exception);
275     virtual std::string GetVersionInfo(void) const;
276     };
277    
278     /***********************************************
279     * Event reader algorithm for Calib2_Ac2 events.
280     **********************************************/
281     class Calib2_Ac2Reader: public TechmodelAlgorithm {
282     private:
283     /** The Calib2_Ac2 event that is created in the reader. */
284     Calib2_Ac2Event* calib2_Ac2;
285     public:
286     Calib2_Ac2Reader(void);
287 kusanagi 1.7 virtual void Init(PamelaRun *);
288 kusanagi 2.2 virtual void RunEvent(int, long int) throw (Exception);
289 kusanagi 1.7 virtual std::string GetVersionInfo(void) const;
290     };
291    
292    
293     /**********************************************
294     * Event reader algorithm for RunHeader events.
295     **********************************************/
296     class RunHeaderReader: public TechmodelAlgorithm {
297     private:
298     /** The RunHeader event that is created in the reader. */
299     RunHeaderEvent* RunHeader;
300     public:
301     RunHeaderReader(void);
302     virtual void Init(PamelaRun *);
303 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
304 kusanagi 1.7 virtual std::string GetVersionInfo(void) const;
305     };
306    
307    
308     /**********************************************
309     * Event reader algorithm for RunTrailer events.
310     **********************************************/
311     class RunTrailerReader: public TechmodelAlgorithm {
312 kusanagi 1.1 private:
313 kusanagi 1.7 /** The RunTrailer event that is created in the reader. */
314     RunTrailerEvent* RunTrailer;
315 kusanagi 1.1 public:
316 kusanagi 1.7 RunTrailerReader(void);
317 kusanagi 1.1 virtual void Init(PamelaRun *);
318 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
319 kusanagi 1.7 virtual std::string GetVersionInfo(void) const;
320 kusanagi 1.1 };
321    
322    
323 kusanagi 1.7 /**********************************************
324     * Event reader algorithm for CalibHeader events.
325     **********************************************/
326     class CalibHeaderReader: public TechmodelAlgorithm {
327 kusanagi 1.1 private:
328 kusanagi 1.7 /** The CalibHeader event that is created in the reader. */
329     CalibHeaderEvent* calibHeader;
330 kusanagi 1.1 public:
331 kusanagi 1.7 CalibHeaderReader(void);
332     virtual void Init(PamelaRun *);
333 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
334 kusanagi 1.7 virtual std::string GetVersionInfo(void) const;
335 kusanagi 1.1 };
336    
337    
338 kusanagi 1.7 /**********************************************
339     * Event reader algorithm for CalibTrailer events.
340     **********************************************/
341     class CalibTrailerReader: public TechmodelAlgorithm {
342 kusanagi 1.1 private:
343 kusanagi 1.7 /** The CalibTrailer event that is created in the reader. */
344     CalibTrailerEvent* calibTrailer;
345 kusanagi 1.1 public:
346 kusanagi 1.7 CalibTrailerReader(void);
347 kusanagi 1.1 virtual void Init(PamelaRun *);
348 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
349 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
350     };
351    
352 kusanagi 1.7
353     /**********************************************
354     * Event reader algorithm for InitHeader events.
355     **********************************************/
356     class InitHeaderReader: public TechmodelAlgorithm {
357 kusanagi 1.1 private:
358 kusanagi 1.7 /** The InitHeader event that is created in the reader. */
359     InitHeaderEvent* initHeader;
360 kusanagi 1.1 public:
361 kusanagi 1.7 InitHeaderReader(void);
362 kusanagi 1.1 virtual void Init(PamelaRun *);
363 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
364 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
365     };
366    
367 kusanagi 1.7
368     /**********************************************
369     * Event reader algorithm for InitTrailer events.
370     **********************************************/
371     class InitTrailerReader: public TechmodelAlgorithm {
372 kusanagi 1.1 private:
373 kusanagi 1.7 /** The InitTrailer event that is created in the reader. */
374     InitTrailerEvent* initTrailer;
375 kusanagi 1.1 public:
376 kusanagi 1.7 InitTrailerReader(void);
377 kusanagi 1.1 virtual void Init(PamelaRun *);
378 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
379 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
380     };
381    
382 kusanagi 1.7
383     /**********************************************
384     * Event reader algorithm for Log events.
385     **********************************************/
386 kusanagi 1.1 class LogReader: public TechmodelAlgorithm {
387     private:
388     /** The Log event that is created in the reader. */
389     LogEvent* Log;
390     public:
391     LogReader(void);
392     virtual void Init(PamelaRun *);
393 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
394 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
395     };
396    
397 kusanagi 1.7
398     /***********************************************
399     * Event reader algorithm for VarDump events.
400     **********************************************/
401     class VarDumpReader: public TechmodelAlgorithm {
402 kusanagi 1.1 private:
403 kusanagi 1.7 /** The VarDump event that is created in the reader. */
404     VarDumpEvent* VarDump;
405     public:
406     VarDumpReader(void);
407     virtual void Init(PamelaRun *);
408 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
409 kusanagi 1.7 virtual std::string GetVersionInfo(void) const;
410     };
411    
412    
413     /**********************************************
414     * Event reader algorithm for ArrDump events.
415     **********************************************/
416     class ArrDumpReader: public TechmodelAlgorithm {
417     private:
418     /** The ArrDump event that is created in the reader. */
419     ArrDumpEvent* ArrDump;
420 kusanagi 1.1 public:
421 kusanagi 1.7 ArrDumpReader(void);
422 kusanagi 1.1 virtual void Init(PamelaRun *);
423 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
424 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
425     };
426    
427 kusanagi 1.7
428     /**********************************************
429     * Event reader algorithm for TabDump events.
430     **********************************************/
431     class TabDumpReader: public TechmodelAlgorithm {
432 kusanagi 1.3 private:
433 kusanagi 1.7 /** The TabDump event that is created in the reader. */
434     TabDumpEvent* TabDump;
435 kusanagi 1.3 public:
436 kusanagi 1.7 TabDumpReader(void);
437 kusanagi 1.3 virtual void Init(PamelaRun *);
438 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
439 kusanagi 1.3 virtual std::string GetVersionInfo(void) const;
440     };
441    
442    
443 kusanagi 1.7 /**********************************************
444     * Event reader algorithm for TMTC events.
445     **********************************************/
446     class TmtcReader: public TechmodelAlgorithm {
447     //Length in bytes of the subPacket (that is te TmtcRecord excluded subCRC)
448 kusanagi 4.1 static const int TMTC_SUB_LENGTH = 44;
449 kusanagi 1.7 //Length in bytes of the subPacketCRC
450     static const int TMTC_SUBCRC_LENGTH = 1;
451     //Length in bytes of the PacketCRC
452     static const int TMTC_CRC_LENGTH = 2;
453     private:
454     /** The TMTC event that is created in the reader. */
455     TmtcEvent* Tmtc;
456 kusanagi 2.5 //float convert_th(int);
457 kusanagi 1.7 public:
458     TmtcReader(void);
459     virtual void Init(PamelaRun *);
460 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
461 kusanagi 1.7 virtual string GetVersionInfo(void) const;
462     };
463    
464    
465     /**********************************************
466     * Event reader algorithm for Mcmd events.
467     **********************************************/
468     class McmdReader: public TechmodelAlgorithm {
469 kusanagi 1.1 private:
470 kusanagi 1.7 /** The Mcmd event that is created in the reader. */
471     McmdEvent* Mcmd;
472 kusanagi 1.1 public:
473 kusanagi 1.7 McmdReader(void);
474 kusanagi 1.1 virtual void Init(PamelaRun *);
475 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
476 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
477     };
478    
479 kusanagi 1.7
480     /**********************************************
481     * Event reader algorithm for ForcedFECmd events.
482     **********************************************/
483     class ForcedFECmdReader: public TechmodelAlgorithm {
484 kusanagi 1.1 private:
485 kusanagi 1.7 /** The ForcedFECmd event that is created in the reader. */
486     ForcedFECmdEvent* forcedFECmd;
487 kusanagi 1.1 public:
488 kusanagi 1.7 ForcedFECmdReader(void);
489 kusanagi 1.1 virtual void Init(PamelaRun *);
490 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
491 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
492     };
493    
494 kusanagi 1.7
495     /**********************************************
496 kusanagi 2.4 * Event reader algorithm for Ac1Init events.
497 kusanagi 1.7 **********************************************/
498 kusanagi 2.4 class Ac1InitReader: public TechmodelAlgorithm {
499 kusanagi 1.1 private:
500 kusanagi 2.4 /** The Ac1Init event that is created in the reader. */
501     Ac1InitEvent* ac1Init;
502 kusanagi 1.1 public:
503 kusanagi 2.4 Ac1InitReader(void);
504 kusanagi 1.1 virtual void Init(PamelaRun *);
505 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
506 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
507     };
508    
509 kusanagi 1.7
510     /**********************************************
511     * Event reader algorithm for CalInit events.
512     **********************************************/
513     class CalInitReader: public TechmodelAlgorithm {
514 kusanagi 1.1 private:
515 kusanagi 1.7 /** The CalInit event that is created in the reader. */
516     CalInitEvent* calInit;
517 kusanagi 1.1 public:
518 kusanagi 1.7 CalInitReader(void);
519 kusanagi 1.1 virtual void Init(PamelaRun *);
520 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
521 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
522     };
523    
524 kusanagi 1.7
525     /**********************************************
526     * Event reader algorithm for TrkInit events.
527     **********************************************/
528     class TrkInitReader: public TechmodelAlgorithm {
529 kusanagi 1.1 private:
530 kusanagi 1.7 /** The TrkInit event that is created in the reader. */
531     TrkInitEvent* trkInit;
532 kusanagi 1.1 public:
533 kusanagi 1.7 TrkInitReader(void);
534 kusanagi 1.1 virtual void Init(PamelaRun *);
535 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
536 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
537     };
538    
539    
540 kusanagi 1.7 /**********************************************
541     * Event reader algorithm for TofInit events.
542     **********************************************/
543     class TofInitReader: public TechmodelAlgorithm {
544 kusanagi 1.1 private:
545 kusanagi 1.7 /** The TofInit event that is created in the reader. */
546     TofInitEvent* tofInit;
547 kusanagi 1.1 public:
548 kusanagi 1.7 TofInitReader(void);
549 kusanagi 1.1 virtual void Init(PamelaRun *);
550 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
551 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
552     };
553    
554 kusanagi 1.7
555     /**********************************************
556     * Event reader algorithm for TrgInit events.
557     **********************************************/
558     class TrgInitReader: public TechmodelAlgorithm {
559 kusanagi 1.1 private:
560 kusanagi 1.7 /** The TrgInit event that is created in the reader. */
561     TrgInitEvent* trgInit;
562 kusanagi 1.1 public:
563 kusanagi 1.7 TrgInitReader(void);
564 kusanagi 1.1 virtual void Init(PamelaRun *);
565 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
566 kusanagi 1.1 virtual std::string GetVersionInfo(void) const;
567     };
568    
569 kusanagi 1.8 /**********************************************
570 kusanagi 2.1 * Event reader algorithm for NdInit events.
571     **********************************************/
572     class NdInitReader: public TechmodelAlgorithm {
573     private:
574     /** The NdInit event that is created in the reader. */
575     NdInitEvent* ndInit;
576     public:
577     NdInitReader(void);
578     virtual void Init(PamelaRun *);
579 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
580 kusanagi 2.1 virtual std::string GetVersionInfo(void) const;
581     };
582    
583 kusanagi 2.3 /**********************************************
584     * Event reader algorithm for S4Init events.
585     **********************************************/
586     class S4InitReader: public TechmodelAlgorithm {
587     private:
588     /** The S4Init event that is created in the reader. */
589     S4InitEvent* s4Init;
590     public:
591     S4InitReader(void);
592     virtual void Init(PamelaRun *);
593     virtual void RunEvent(int, long int) throw (WrongCRCException);
594     virtual std::string GetVersionInfo(void) const;
595     };
596    
597 kusanagi 2.1
598     /**********************************************
599 kusanagi 2.4 * Event reader algorithm for Ac2Init events.
600     **********************************************/
601     class Ac2InitReader: public TechmodelAlgorithm {
602     private:
603     /** The Ac2Init event that is created in the reader. */
604     Ac2InitEvent* ac2Init;
605     public:
606     Ac2InitReader(void);
607     virtual void Init(PamelaRun *);
608     virtual void RunEvent(int, long int) throw (WrongCRCException);
609     virtual std::string GetVersionInfo(void) const;
610     };
611    
612    
613     /**********************************************
614 kusanagi 1.8 * Event reader algorithm for CalAlarm events.
615     **********************************************/
616     class CalAlarmReader: public TechmodelAlgorithm {
617     private:
618     /** The CalAlarm event that is created in the reader. */
619     CalAlarmEvent* calAlarm;
620     public:
621     CalAlarmReader(void);
622     virtual void Init(PamelaRun *);
623 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
624 kusanagi 1.8 virtual std::string GetVersionInfo(void) const;
625     };
626    
627     /**********************************************
628     * Event reader algorithm for AcAlarm events.
629     **********************************************/
630     class AcAlarmReader: public TechmodelAlgorithm {
631     private:
632     /** The AcAlarm event that is created in the reader. */
633     AcAlarmEvent* acAlarm;
634     public:
635     AcAlarmReader(void);
636     virtual void Init(PamelaRun *);
637 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
638 kusanagi 1.8 virtual std::string GetVersionInfo(void) const;
639     };
640    
641     /**********************************************
642     * Event reader algorithm for TrkAlarm events.
643     **********************************************/
644     class TrkAlarmReader: public TechmodelAlgorithm {
645     private:
646     /** The TrkAlarm event that is created in the reader. */
647     TrkAlarmEvent* trkAlarm;
648     public:
649     TrkAlarmReader(void);
650     virtual void Init(PamelaRun *);
651 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
652 kusanagi 1.8 virtual std::string GetVersionInfo(void) const;
653     };
654    
655     /**********************************************
656     * Event reader algorithm for TrgAlarm events.
657     **********************************************/
658     class TrgAlarmReader: public TechmodelAlgorithm {
659     private:
660     /** The TrgAlarm event that is created in the reader. */
661     TrgAlarmEvent* trgAlarm;
662     public:
663     TrgAlarmReader(void);
664     virtual void Init(PamelaRun *);
665 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
666 kusanagi 1.8 virtual std::string GetVersionInfo(void) const;
667     };
668    
669     /**********************************************
670     * Event reader algorithm for TofAlarm events.
671     **********************************************/
672     class TofAlarmReader: public TechmodelAlgorithm {
673     private:
674     /** The TofAlarm event that is created in the reader. */
675     TofAlarmEvent* tofAlarm;
676     public:
677     TofAlarmReader(void);
678     virtual void Init(PamelaRun *);
679 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
680 kusanagi 1.8 virtual std::string GetVersionInfo(void) const;
681     };
682 kusanagi 1.1
683 kusanagi 1.7 /**********************************************
684 kusanagi 2.3 * Event reader algorithm for S4Alarm events.
685     **********************************************/
686     class S4AlarmReader: public TechmodelAlgorithm {
687     private:
688     /** The S4Alarm event that is created in the reader. */
689     S4AlarmEvent* s4Alarm;
690     public:
691     S4AlarmReader(void);
692     virtual void Init(PamelaRun *);
693     virtual void RunEvent(int, long int) throw (WrongCRCException);
694     virtual std::string GetVersionInfo(void) const;
695     };
696    
697     /**********************************************
698 kusanagi 2.9 * Event reader algorithm for TsbT events.
699     **********************************************/
700     class TsbTReader: public TechmodelAlgorithm {
701     private:
702     /** The TsbT event that is created in the reader. */
703     TsbTEvent* TsbT;
704     public:
705     TsbTReader(void);
706     virtual void Init(PamelaRun *);
707     virtual void RunEvent(int, long int) throw (WrongCRCException);
708     virtual std::string GetVersionInfo(void) const;
709     };
710    
711     /**********************************************
712     * Event reader algorithm for TsbB events.
713     **********************************************/
714     class TsbBReader: public TechmodelAlgorithm {
715     private:
716     /** The TsbB event that is created in the reader. */
717     TsbBEvent* TsbB;
718     public:
719     TsbBReader(void);
720     virtual void Init(PamelaRun *);
721     virtual void RunEvent(int, long int) throw (WrongCRCException);
722     virtual std::string GetVersionInfo(void) const;
723     };
724    
725     /**********************************************
726 kusanagi 1.7 * Event reader algorithm for PSCU events.
727     **********************************************/
728     class PscuReader: public TechmodelAlgorithm {
729 kusanagi 1.4 private:
730 kusanagi 1.7 /** The PSCU event that is created in the reader. */
731     PscuEvent* Pscu;
732 kusanagi 1.4 public:
733 kusanagi 1.7 PscuReader(void);
734 kusanagi 1.4 virtual void Init(PamelaRun *);
735 kusanagi 2.2 virtual void RunEvent(int, long int) throw (WrongCRCException);
736 kusanagi 1.4 virtual std::string GetVersionInfo(void) const;
737     };
738 kusanagi 1.7
739    
740 kusanagi 1.1 }
741     }
742    
743     #endif /* READER_ALGORITHM_H */
744    
745    
746 kusanagi 2.3
747 kusanagi 2.4

  ViewVC Help
Powered by ViewVC 1.1.23