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

Contents of /yoda/techmodel/ReaderAlgorithms.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6.0 - (show annotations) (download)
Tue Feb 7 17:11:10 2006 UTC (18 years, 9 months ago) by kusanagi
Branch: MAIN
CVS Tags: YODA6_0/00
Changes since 5.1: +3 -3 lines
File MIME type: text/plain
Several new features in this revision:
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 /** @file
2 * $Author: kusanagi $
3 * $Date: 2006/02/04 12:37:45 $
4 * $Revision: 5.1 $
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 "log/LogEvent.h"
42 #include "varDump/VarDumpEvent.h"
43 #include "arrDump/ArrDumpEvent.h"
44 #include "tabDump/TabDumpEvent.h"
45 #include "tsbt/TsbTEvent.h"
46 #include "tsbb/TsbBEvent.h"
47 #include "tmtc/TmtcEvent.h"
48 #include "mcmd/McmdEvent.h"
49 #include "ForcedFECmdEvent.h"
50 #include "Ac1InitEvent.h"
51 #include "CalInitEvent.h"
52 #include "TrkInitEvent.h"
53 #include "TofInitEvent.h"
54 #include "TrgInitEvent.h"
55 #include "NdInitEvent.h"
56 #include "S4InitEvent.h"
57 #include "Ac2InitEvent.h"
58 #include "CalAlarmEvent.h"
59 #include "AcAlarmEvent.h"
60 #include "TrkAlarmEvent.h"
61 #include "TrgAlarmEvent.h"
62 #include "TofAlarmEvent.h"
63 #include "S4AlarmEvent.h"
64 #include <fstream>
65 #include <log4cxx/logger.h>
66
67 extern "C" {
68 #include "CRC.h"
69 }
70
71 using namespace std;
72
73 namespace pamela {
74 namespace techmodel {
75
76 /**
77 Event reader algorithm for PhysEndRun events.
78 *
79 */
80 class PhysEndRunReader: public TechmodelAlgorithm {
81 private:
82 /** The PhysEndRun event that is created in the reader. */
83 PhysEndRunEvent* physEndRun;
84 public:
85 /**
86 * Constructor
87 * @param
88 * @return
89 */
90 PhysEndRunReader(void);
91 virtual void Init(PamelaRun *);
92 virtual void RunEvent(int, long int) throw (WrongCRCException);
93 //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 virtual void RunEvent(int, long int) throw (Exception);
111 //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 virtual void RunEvent(int, long int) throw (Exception);
129 //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 class PhysicsReader: public TechmodelAlgorithm {
140 private:
141 /** The reader for tracker physics events. */
142 tracker::TrackerReader* trackerReader;
143 anticounter::AnticounterReader* anticounterReader;
144 calorimeter::CalorimeterReader* calorimeterReader;
145 neutron::NeutronDetectorReader* neutronReader;
146 S4::S4Reader* s4Reader;
147 tof::TofReader* tofReader;
148 trigger::TriggerReader* triggerReader;
149 public:
150 PhysicsReader(void);
151 virtual void Init(PamelaRun *);
152 virtual void RunEvent(int, long int) throw (Exception);
153 virtual std::string GetVersionInfo(void) const;
154 };
155
156
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 virtual void RunEvent(int, long int) throw (Exception);
168 //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 virtual void RunEvent(int, long int) throw (Exception);
186 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 virtual void RunEvent(int, long int) throw (Exception);
201 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 CalibS4Event* calibS4;
212 public:
213 CalibS4Reader(void);
214 virtual void Init(PamelaRun *);
215 virtual void RunEvent(int, long int) throw (WrongCRCException);
216 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 virtual void RunEvent(int, long int) throw (Exception);
231 virtual std::string GetVersionInfo(void) const;
232 };
233
234
235 /***********************************************
236 * Event reader algorithm for Calib1_Ac1 events.
237 **********************************************/
238 class Calib1_Ac1Reader: public TechmodelAlgorithm {
239 private:
240 /** The CalibAc event that is created in the reader. */
241 Calib1_Ac1Event* calib1_Ac1;
242 public:
243 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 virtual void Init(PamelaRun *);
288 virtual void RunEvent(int, long int) throw (Exception);
289 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 virtual void RunEvent(int, long int) throw (WrongCRCException);
304 virtual std::string GetVersionInfo(void) const;
305 };
306
307
308 /**********************************************
309 * Event reader algorithm for RunTrailer events.
310 **********************************************/
311 class RunTrailerReader: public TechmodelAlgorithm {
312 private:
313 /** The RunTrailer event that is created in the reader. */
314 RunTrailerEvent* RunTrailer;
315 public:
316 RunTrailerReader(void);
317 virtual void Init(PamelaRun *);
318 virtual void RunEvent(int, long int) throw (WrongCRCException);
319 virtual std::string GetVersionInfo(void) const;
320 };
321
322
323 /**********************************************
324 * Event reader algorithm for CalibHeader events.
325 **********************************************/
326 class CalibHeaderReader: public TechmodelAlgorithm {
327 private:
328 /** The CalibHeader event that is created in the reader. */
329 CalibHeaderEvent* calibHeader;
330 public:
331 CalibHeaderReader(void);
332 virtual void Init(PamelaRun *);
333 virtual void RunEvent(int, long int) throw (WrongCRCException);
334 virtual std::string GetVersionInfo(void) const;
335 };
336
337
338 /**********************************************
339 * Event reader algorithm for CalibTrailer events.
340 **********************************************/
341 class CalibTrailerReader: public TechmodelAlgorithm {
342 private:
343 /** The CalibTrailer event that is created in the reader. */
344 CalibTrailerEvent* calibTrailer;
345 public:
346 CalibTrailerReader(void);
347 virtual void Init(PamelaRun *);
348 virtual void RunEvent(int, long int) throw (WrongCRCException);
349 virtual std::string GetVersionInfo(void) const;
350 };
351
352
353 /**********************************************
354 * Event reader algorithm for InitHeader events.
355 **********************************************/
356 class InitHeaderReader: public TechmodelAlgorithm {
357 private:
358 /** The InitHeader event that is created in the reader. */
359 InitHeaderEvent* initHeader;
360 public:
361 InitHeaderReader(void);
362 virtual void Init(PamelaRun *);
363 virtual void RunEvent(int, long int) throw (WrongCRCException);
364 virtual std::string GetVersionInfo(void) const;
365 };
366
367
368 /**********************************************
369 * Event reader algorithm for InitTrailer events.
370 **********************************************/
371 class InitTrailerReader: public TechmodelAlgorithm {
372 private:
373 /** The InitTrailer event that is created in the reader. */
374 InitTrailerEvent* initTrailer;
375 public:
376 InitTrailerReader(void);
377 virtual void Init(PamelaRun *);
378 virtual void RunEvent(int, long int) throw (WrongCRCException);
379 virtual std::string GetVersionInfo(void) const;
380 };
381
382
383 /**********************************************
384 * Event reader algorithm for Log events.
385 **********************************************/
386 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 virtual void RunEvent(int, long int) throw (WrongCRCException);
394 virtual std::string GetVersionInfo(void) const;
395 };
396
397
398 /***********************************************
399 * Event reader algorithm for VarDump events.
400 **********************************************/
401 class VarDumpReader: public TechmodelAlgorithm {
402 private:
403 /** The VarDump event that is created in the reader. */
404 VarDumpEvent* VarDump;
405 public:
406 VarDumpReader(void);
407 virtual void Init(PamelaRun *);
408 virtual void RunEvent(int, long int) throw (WrongCRCException);
409 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 public:
421 ArrDumpReader(void);
422 virtual void Init(PamelaRun *);
423 virtual void RunEvent(int, long int) throw (WrongCRCException);
424 virtual std::string GetVersionInfo(void) const;
425 };
426
427
428 /**********************************************
429 * Event reader algorithm for TabDump events.
430 **********************************************/
431 class TabDumpReader: public TechmodelAlgorithm {
432 private:
433 /** The TabDump event that is created in the reader. */
434 TabDumpEvent* TabDump;
435 public:
436 TabDumpReader(void);
437 virtual void Init(PamelaRun *);
438 virtual void RunEvent(int, long int) throw (WrongCRCException);
439 virtual std::string GetVersionInfo(void) const;
440 };
441
442
443 /**********************************************
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 static const int TMTC_SUB_LENGTH = 44;
449 //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 //float convert_th(int);
457 public:
458 TmtcReader(void);
459 virtual void Init(PamelaRun *);
460 virtual void RunEvent(int, long int) throw (WrongCRCException);
461 virtual string GetVersionInfo(void) const;
462 };
463
464
465 /**********************************************
466 * Event reader algorithm for Mcmd events.
467 **********************************************/
468 class McmdReader: public TechmodelAlgorithm {
469 private:
470 /** The Mcmd event that is created in the reader. */
471 McmdEvent* Mcmd;
472 public:
473 McmdReader(void);
474 virtual void Init(PamelaRun *);
475 virtual void RunEvent(int, long int) throw (WrongCRCException);
476 virtual std::string GetVersionInfo(void) const;
477 };
478
479
480 /**********************************************
481 * Event reader algorithm for ForcedFECmd events.
482 **********************************************/
483 class ForcedFECmdReader: public TechmodelAlgorithm {
484 private:
485 /** The ForcedFECmd event that is created in the reader. */
486 ForcedFECmdEvent* forcedFECmd;
487 public:
488 ForcedFECmdReader(void);
489 virtual void Init(PamelaRun *);
490 virtual void RunEvent(int, long int) throw (WrongCRCException);
491 virtual std::string GetVersionInfo(void) const;
492 };
493
494
495 /**********************************************
496 * Event reader algorithm for Ac1Init events.
497 **********************************************/
498 class Ac1InitReader: public TechmodelAlgorithm {
499 private:
500 /** The Ac1Init event that is created in the reader. */
501 Ac1InitEvent* ac1Init;
502 public:
503 Ac1InitReader(void);
504 virtual void Init(PamelaRun *);
505 virtual void RunEvent(int, long int) throw (WrongCRCException);
506 virtual std::string GetVersionInfo(void) const;
507 };
508
509
510 /**********************************************
511 * Event reader algorithm for CalInit events.
512 **********************************************/
513 class CalInitReader: public TechmodelAlgorithm {
514 private:
515 /** The CalInit event that is created in the reader. */
516 CalInitEvent* calInit;
517 public:
518 CalInitReader(void);
519 virtual void Init(PamelaRun *);
520 virtual void RunEvent(int, long int) throw (WrongCRCException);
521 virtual std::string GetVersionInfo(void) const;
522 };
523
524
525 /**********************************************
526 * Event reader algorithm for TrkInit events.
527 **********************************************/
528 class TrkInitReader: public TechmodelAlgorithm {
529 private:
530 /** The TrkInit event that is created in the reader. */
531 TrkInitEvent* trkInit;
532 public:
533 TrkInitReader(void);
534 virtual void Init(PamelaRun *);
535 virtual void RunEvent(int, long int) throw (WrongCRCException);
536 virtual std::string GetVersionInfo(void) const;
537 };
538
539
540 /**********************************************
541 * Event reader algorithm for TofInit events.
542 **********************************************/
543 class TofInitReader: public TechmodelAlgorithm {
544 private:
545 /** The TofInit event that is created in the reader. */
546 TofInitEvent* tofInit;
547 public:
548 TofInitReader(void);
549 virtual void Init(PamelaRun *);
550 virtual void RunEvent(int, long int) throw (WrongCRCException);
551 virtual std::string GetVersionInfo(void) const;
552 };
553
554
555 /**********************************************
556 * Event reader algorithm for TrgInit events.
557 **********************************************/
558 class TrgInitReader: public TechmodelAlgorithm {
559 private:
560 /** The TrgInit event that is created in the reader. */
561 TrgInitEvent* trgInit;
562 public:
563 TrgInitReader(void);
564 virtual void Init(PamelaRun *);
565 virtual void RunEvent(int, long int) throw (WrongCRCException);
566 virtual std::string GetVersionInfo(void) const;
567 };
568
569 /**********************************************
570 * 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 virtual void RunEvent(int, long int) throw (WrongCRCException);
580 virtual std::string GetVersionInfo(void) const;
581 };
582
583 /**********************************************
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
598 /**********************************************
599 * 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 * 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 virtual void RunEvent(int, long int) throw (WrongCRCException);
624 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 virtual void RunEvent(int, long int) throw (WrongCRCException);
638 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 virtual void RunEvent(int, long int) throw (WrongCRCException);
652 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 virtual void RunEvent(int, long int) throw (WrongCRCException);
666 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 virtual void RunEvent(int, long int) throw (WrongCRCException);
680 virtual std::string GetVersionInfo(void) const;
681 };
682
683 /**********************************************
684 * 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 * 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 * Event reader algorithm for PSCU events.
727 **********************************************/
728 class PscuReader: public TechmodelAlgorithm {
729 private:
730 /** The PSCU event that is created in the reader. */
731 PscuEvent* Pscu;
732 public:
733 PscuReader(void);
734 virtual void Init(PamelaRun *);
735 virtual void RunEvent(int, long int) throw (WrongCRCException);
736 virtual std::string GetVersionInfo(void) const;
737 };
738
739
740 }
741 }
742
743 #endif /* READER_ALGORITHM_H */
744
745
746
747

  ViewVC Help
Powered by ViewVC 1.1.23