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

Contents of /yoda/techmodel/ReaderAlgorithms.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6.1 - (show annotations) (download)
Wed Feb 15 15:47:14 2006 UTC (18 years, 9 months ago) by kusanagi
Branch: MAIN
CVS Tags: YODA6_2/01, YODA6_2/00, YODA6_1/00
Changes since 6.0: +18 -2 lines
File MIME type: text/plain
Update. Because of misunderstanding the EventTrk packet had been removed from the unpacking. Now it is added again to the Yoda package.

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

  ViewVC Help
Powered by ViewVC 1.1.23