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

Contents of /yoda/techmodel/ReaderAlgorithms.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (show annotations) (download)
Tue Sep 21 20:24:33 2004 UTC (20 years, 5 months ago) by kusanagi
Branch: MAIN
Changes since 1.7: +90 -2 lines
File MIME type: text/plain
Commit toward log4cxx plus new packets types Reader

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

  ViewVC Help
Powered by ViewVC 1.1.23