14 #ifndef TRGCDCETFUNPACKER_H
15 #define TRGCDCETFUNPACKER_H
19 #include "rawdata/dataobjects/RawTRG.h"
20 #include "trg/cdc/dataobjects/TRGCDCETFUnpackerStore.h"
22 #include <framework/datastore/StoreArray.h>
23 #include <framework/core/Module.h>
31 namespace TRGCDCETFUNPACKERSPACE {
34 const int nLeafs = 108;
36 const int nLeafsExtra = 4;
38 const int nClks = 48 ;
40 const int nBits = 1024;
42 const char* LeafNames[nLeafs + nLeafsExtra] = {
160 "evt",
"clk",
"firmid",
"firmvers"
284 e_evt, e_clk, e_firmid, e_firmvers
288 const int BitMap[nLeafs][2] = {
530 setLeafPointersArray(TRGCDCETFUnpackerStore* store,
int** bitArray)
532 bitArray[e_etf_threshold] = &(store->m_etf_threshold);
533 bitArray[e_etf_threshold2] = &(store->m_etf_threshold2);
534 bitArray[e_etf_holdtime] = &(store->m_etf_holdtime);
535 bitArray[e_etf_firmvers] = &(store->m_etf_firmvers);
536 bitArray[e_etf_cc] = &(store->m_etf_cc);
537 bitArray[e_etf_output_gdl] = &(store->m_etf_output_gdl);
538 bitArray[e_etf_valid_gdl] = &(store->m_etf_valid_gdl);
539 bitArray[e_etf_output] = &(store->m_etf_output);
540 bitArray[e_etf_valid] = &(store->m_etf_valid);
542 bitArray[e_etf_tsf8_nhit] = &(store->m_etf_tsf8_nhit);
543 bitArray[e_etf_tsf8_ft9] = &(store->m_etf_tsf8_ft9);
544 bitArray[e_etf_tsf8_ft8] = &(store->m_etf_tsf8_ft8);
545 bitArray[e_etf_tsf8_ft7] = &(store->m_etf_tsf8_ft7);
546 bitArray[e_etf_tsf8_ft6] = &(store->m_etf_tsf8_ft6);
547 bitArray[e_etf_tsf8_ft5] = &(store->m_etf_tsf8_ft5);
548 bitArray[e_etf_tsf8_ft4] = &(store->m_etf_tsf8_ft4);
549 bitArray[e_etf_tsf8_ft3] = &(store->m_etf_tsf8_ft3);
550 bitArray[e_etf_tsf8_ft2] = &(store->m_etf_tsf8_ft2);
551 bitArray[e_etf_tsf8_ft1] = &(store->m_etf_tsf8_ft1);
552 bitArray[e_etf_tsf8_ft0] = &(store->m_etf_tsf8_ft0);
554 bitArray[e_etf_tsf7_nhit] = &(store->m_etf_tsf7_nhit);
555 bitArray[e_etf_tsf7_ft9] = &(store->m_etf_tsf7_ft9);
556 bitArray[e_etf_tsf7_ft8] = &(store->m_etf_tsf7_ft8);
557 bitArray[e_etf_tsf7_ft7] = &(store->m_etf_tsf7_ft7);
558 bitArray[e_etf_tsf7_ft6] = &(store->m_etf_tsf7_ft6);
559 bitArray[e_etf_tsf7_ft5] = &(store->m_etf_tsf7_ft5);
560 bitArray[e_etf_tsf7_ft4] = &(store->m_etf_tsf7_ft4);
561 bitArray[e_etf_tsf7_ft3] = &(store->m_etf_tsf7_ft3);
562 bitArray[e_etf_tsf7_ft2] = &(store->m_etf_tsf7_ft2);
563 bitArray[e_etf_tsf7_ft1] = &(store->m_etf_tsf7_ft1);
564 bitArray[e_etf_tsf7_ft0] = &(store->m_etf_tsf7_ft0);
566 bitArray[e_etf_tsf6_nhit] = &(store->m_etf_tsf6_nhit);
567 bitArray[e_etf_tsf6_ft9] = &(store->m_etf_tsf6_ft9);
568 bitArray[e_etf_tsf6_ft8] = &(store->m_etf_tsf6_ft8);
569 bitArray[e_etf_tsf6_ft7] = &(store->m_etf_tsf6_ft7);
570 bitArray[e_etf_tsf6_ft6] = &(store->m_etf_tsf6_ft6);
571 bitArray[e_etf_tsf6_ft5] = &(store->m_etf_tsf6_ft5);
572 bitArray[e_etf_tsf6_ft4] = &(store->m_etf_tsf6_ft4);
573 bitArray[e_etf_tsf6_ft3] = &(store->m_etf_tsf6_ft3);
574 bitArray[e_etf_tsf6_ft2] = &(store->m_etf_tsf6_ft2);
575 bitArray[e_etf_tsf6_ft1] = &(store->m_etf_tsf6_ft1);
576 bitArray[e_etf_tsf6_ft0] = &(store->m_etf_tsf6_ft0);
578 bitArray[e_etf_tsf5_nhit] = &(store->m_etf_tsf5_nhit);
579 bitArray[e_etf_tsf5_ft9] = &(store->m_etf_tsf5_ft9);
580 bitArray[e_etf_tsf5_ft8] = &(store->m_etf_tsf5_ft8);
581 bitArray[e_etf_tsf5_ft7] = &(store->m_etf_tsf5_ft7);
582 bitArray[e_etf_tsf5_ft6] = &(store->m_etf_tsf5_ft6);
583 bitArray[e_etf_tsf5_ft5] = &(store->m_etf_tsf5_ft5);
584 bitArray[e_etf_tsf5_ft4] = &(store->m_etf_tsf5_ft4);
585 bitArray[e_etf_tsf5_ft3] = &(store->m_etf_tsf5_ft3);
586 bitArray[e_etf_tsf5_ft2] = &(store->m_etf_tsf5_ft2);
587 bitArray[e_etf_tsf5_ft1] = &(store->m_etf_tsf5_ft1);
588 bitArray[e_etf_tsf5_ft0] = &(store->m_etf_tsf5_ft0);
590 bitArray[e_etf_tsf4_nhit] = &(store->m_etf_tsf4_nhit);
591 bitArray[e_etf_tsf4_ft9] = &(store->m_etf_tsf4_ft9);
592 bitArray[e_etf_tsf4_ft8] = &(store->m_etf_tsf4_ft8);
593 bitArray[e_etf_tsf4_ft7] = &(store->m_etf_tsf4_ft7);
594 bitArray[e_etf_tsf4_ft6] = &(store->m_etf_tsf4_ft6);
595 bitArray[e_etf_tsf4_ft5] = &(store->m_etf_tsf4_ft5);
596 bitArray[e_etf_tsf4_ft4] = &(store->m_etf_tsf4_ft4);
597 bitArray[e_etf_tsf4_ft3] = &(store->m_etf_tsf4_ft3);
598 bitArray[e_etf_tsf4_ft2] = &(store->m_etf_tsf4_ft2);
599 bitArray[e_etf_tsf4_ft1] = &(store->m_etf_tsf4_ft1);
600 bitArray[e_etf_tsf4_ft0] = &(store->m_etf_tsf4_ft0);
602 bitArray[e_etf_tsf3_nhit] = &(store->m_etf_tsf3_nhit);
603 bitArray[e_etf_tsf3_ft9] = &(store->m_etf_tsf3_ft9);
604 bitArray[e_etf_tsf3_ft8] = &(store->m_etf_tsf3_ft8);
605 bitArray[e_etf_tsf3_ft7] = &(store->m_etf_tsf3_ft7);
606 bitArray[e_etf_tsf3_ft6] = &(store->m_etf_tsf3_ft6);
607 bitArray[e_etf_tsf3_ft5] = &(store->m_etf_tsf3_ft5);
608 bitArray[e_etf_tsf3_ft4] = &(store->m_etf_tsf3_ft4);
609 bitArray[e_etf_tsf3_ft3] = &(store->m_etf_tsf3_ft3);
610 bitArray[e_etf_tsf3_ft2] = &(store->m_etf_tsf3_ft2);
611 bitArray[e_etf_tsf3_ft1] = &(store->m_etf_tsf3_ft1);
612 bitArray[e_etf_tsf3_ft0] = &(store->m_etf_tsf3_ft0);
614 bitArray[e_etf_tsf2_nhit] = &(store->m_etf_tsf2_nhit);
615 bitArray[e_etf_tsf2_ft9] = &(store->m_etf_tsf2_ft9);
616 bitArray[e_etf_tsf2_ft8] = &(store->m_etf_tsf2_ft8);
617 bitArray[e_etf_tsf2_ft7] = &(store->m_etf_tsf2_ft7);
618 bitArray[e_etf_tsf2_ft6] = &(store->m_etf_tsf2_ft6);
619 bitArray[e_etf_tsf2_ft5] = &(store->m_etf_tsf2_ft5);
620 bitArray[e_etf_tsf2_ft4] = &(store->m_etf_tsf2_ft4);
621 bitArray[e_etf_tsf2_ft3] = &(store->m_etf_tsf2_ft3);
622 bitArray[e_etf_tsf2_ft2] = &(store->m_etf_tsf2_ft2);
623 bitArray[e_etf_tsf2_ft1] = &(store->m_etf_tsf2_ft1);
624 bitArray[e_etf_tsf2_ft0] = &(store->m_etf_tsf2_ft0);
626 bitArray[e_etf_tsf1_nhit] = &(store->m_etf_tsf1_nhit);
627 bitArray[e_etf_tsf1_ft9] = &(store->m_etf_tsf1_ft9);
628 bitArray[e_etf_tsf1_ft8] = &(store->m_etf_tsf1_ft8);
629 bitArray[e_etf_tsf1_ft7] = &(store->m_etf_tsf1_ft7);
630 bitArray[e_etf_tsf1_ft6] = &(store->m_etf_tsf1_ft6);
631 bitArray[e_etf_tsf1_ft5] = &(store->m_etf_tsf1_ft5);
632 bitArray[e_etf_tsf1_ft4] = &(store->m_etf_tsf1_ft4);
633 bitArray[e_etf_tsf1_ft3] = &(store->m_etf_tsf1_ft3);
634 bitArray[e_etf_tsf1_ft2] = &(store->m_etf_tsf1_ft2);
635 bitArray[e_etf_tsf1_ft1] = &(store->m_etf_tsf1_ft1);
636 bitArray[e_etf_tsf1_ft0] = &(store->m_etf_tsf1_ft0);
638 bitArray[e_etf_tsf0_nhit] = &(store->m_etf_tsf0_nhit);
639 bitArray[e_etf_tsf0_ft9] = &(store->m_etf_tsf0_ft9);
640 bitArray[e_etf_tsf0_ft8] = &(store->m_etf_tsf0_ft8);
641 bitArray[e_etf_tsf0_ft7] = &(store->m_etf_tsf0_ft7);
642 bitArray[e_etf_tsf0_ft6] = &(store->m_etf_tsf0_ft6);
643 bitArray[e_etf_tsf0_ft5] = &(store->m_etf_tsf0_ft5);
644 bitArray[e_etf_tsf0_ft4] = &(store->m_etf_tsf0_ft4);
645 bitArray[e_etf_tsf0_ft3] = &(store->m_etf_tsf0_ft3);
646 bitArray[e_etf_tsf0_ft2] = &(store->m_etf_tsf0_ft2);
647 bitArray[e_etf_tsf0_ft1] = &(store->m_etf_tsf0_ft1);
648 bitArray[e_etf_tsf0_ft0] = &(store->m_etf_tsf0_ft0);
650 bitArray[e_evt] = &(store->m_evt);
651 bitArray[e_clk] = &(store->m_clk);
652 bitArray[e_firmid] = &(store->m_firmid);
653 bitArray[e_firmvers] = &(store->m_firmvers);
674 virtual void event()
override;
683 virtual void endRun()
override;
700 #endif // TRGCDCETFUNPACKER_H