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

Annotation of /yoda/techmodel/ReaderAlgorithms.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2.3 - (hide annotations) (download)
Thu Dec 9 08:48:41 2004 UTC (19 years, 11 months ago) by kusanagi
Branch: MAIN
Changes since 2.2: +35 -2 lines
File MIME type: text/plain
Fixed bug of Stack overflow in case of Log CRCError
Added S4Init & S4Alarm packets

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

  ViewVC Help
Powered by ViewVC 1.1.23