21 #ifndef TRGCDCETFUNPACKER_H
22 #define TRGCDCETFUNPACKER_H
26 #include "rawdata/dataobjects/RawTRG.h"
27 #include "trg/cdc/dataobjects/TRGCDCETFUnpackerStore.h"
29 #include <framework/datastore/StoreArray.h>
30 #include <framework/core/Module.h>
38 namespace TRGCDCETFUNPACKERSPACE {
41 const int nLeafs = 108;
43 const int nLeafsExtra = 4;
45 const int nClks = 48 ;
47 const int nBits = 1024;
49 const char* LeafNames[nLeafs + nLeafsExtra] = {
167 "evt",
"clk",
"firmid",
"firmvers"
291 e_evt, e_clk, e_firmid, e_firmvers
295 const int BitMap[nLeafs][2] = {
537 setLeafPointersArray(TRGCDCETFUnpackerStore* store,
int** bitArray)
539 bitArray[e_etf_threshold] = &(store->m_etf_threshold);
540 bitArray[e_etf_threshold2] = &(store->m_etf_threshold2);
541 bitArray[e_etf_holdtime] = &(store->m_etf_holdtime);
542 bitArray[e_etf_firmvers] = &(store->m_etf_firmvers);
543 bitArray[e_etf_cc] = &(store->m_etf_cc);
544 bitArray[e_etf_output_gdl] = &(store->m_etf_output_gdl);
545 bitArray[e_etf_valid_gdl] = &(store->m_etf_valid_gdl);
546 bitArray[e_etf_output] = &(store->m_etf_output);
547 bitArray[e_etf_valid] = &(store->m_etf_valid);
549 bitArray[e_etf_tsf8_nhit] = &(store->m_etf_tsf8_nhit);
550 bitArray[e_etf_tsf8_ft9] = &(store->m_etf_tsf8_ft9);
551 bitArray[e_etf_tsf8_ft8] = &(store->m_etf_tsf8_ft8);
552 bitArray[e_etf_tsf8_ft7] = &(store->m_etf_tsf8_ft7);
553 bitArray[e_etf_tsf8_ft6] = &(store->m_etf_tsf8_ft6);
554 bitArray[e_etf_tsf8_ft5] = &(store->m_etf_tsf8_ft5);
555 bitArray[e_etf_tsf8_ft4] = &(store->m_etf_tsf8_ft4);
556 bitArray[e_etf_tsf8_ft3] = &(store->m_etf_tsf8_ft3);
557 bitArray[e_etf_tsf8_ft2] = &(store->m_etf_tsf8_ft2);
558 bitArray[e_etf_tsf8_ft1] = &(store->m_etf_tsf8_ft1);
559 bitArray[e_etf_tsf8_ft0] = &(store->m_etf_tsf8_ft0);
561 bitArray[e_etf_tsf7_nhit] = &(store->m_etf_tsf7_nhit);
562 bitArray[e_etf_tsf7_ft9] = &(store->m_etf_tsf7_ft9);
563 bitArray[e_etf_tsf7_ft8] = &(store->m_etf_tsf7_ft8);
564 bitArray[e_etf_tsf7_ft7] = &(store->m_etf_tsf7_ft7);
565 bitArray[e_etf_tsf7_ft6] = &(store->m_etf_tsf7_ft6);
566 bitArray[e_etf_tsf7_ft5] = &(store->m_etf_tsf7_ft5);
567 bitArray[e_etf_tsf7_ft4] = &(store->m_etf_tsf7_ft4);
568 bitArray[e_etf_tsf7_ft3] = &(store->m_etf_tsf7_ft3);
569 bitArray[e_etf_tsf7_ft2] = &(store->m_etf_tsf7_ft2);
570 bitArray[e_etf_tsf7_ft1] = &(store->m_etf_tsf7_ft1);
571 bitArray[e_etf_tsf7_ft0] = &(store->m_etf_tsf7_ft0);
573 bitArray[e_etf_tsf6_nhit] = &(store->m_etf_tsf6_nhit);
574 bitArray[e_etf_tsf6_ft9] = &(store->m_etf_tsf6_ft9);
575 bitArray[e_etf_tsf6_ft8] = &(store->m_etf_tsf6_ft8);
576 bitArray[e_etf_tsf6_ft7] = &(store->m_etf_tsf6_ft7);
577 bitArray[e_etf_tsf6_ft6] = &(store->m_etf_tsf6_ft6);
578 bitArray[e_etf_tsf6_ft5] = &(store->m_etf_tsf6_ft5);
579 bitArray[e_etf_tsf6_ft4] = &(store->m_etf_tsf6_ft4);
580 bitArray[e_etf_tsf6_ft3] = &(store->m_etf_tsf6_ft3);
581 bitArray[e_etf_tsf6_ft2] = &(store->m_etf_tsf6_ft2);
582 bitArray[e_etf_tsf6_ft1] = &(store->m_etf_tsf6_ft1);
583 bitArray[e_etf_tsf6_ft0] = &(store->m_etf_tsf6_ft0);
585 bitArray[e_etf_tsf5_nhit] = &(store->m_etf_tsf5_nhit);
586 bitArray[e_etf_tsf5_ft9] = &(store->m_etf_tsf5_ft9);
587 bitArray[e_etf_tsf5_ft8] = &(store->m_etf_tsf5_ft8);
588 bitArray[e_etf_tsf5_ft7] = &(store->m_etf_tsf5_ft7);
589 bitArray[e_etf_tsf5_ft6] = &(store->m_etf_tsf5_ft6);
590 bitArray[e_etf_tsf5_ft5] = &(store->m_etf_tsf5_ft5);
591 bitArray[e_etf_tsf5_ft4] = &(store->m_etf_tsf5_ft4);
592 bitArray[e_etf_tsf5_ft3] = &(store->m_etf_tsf5_ft3);
593 bitArray[e_etf_tsf5_ft2] = &(store->m_etf_tsf5_ft2);
594 bitArray[e_etf_tsf5_ft1] = &(store->m_etf_tsf5_ft1);
595 bitArray[e_etf_tsf5_ft0] = &(store->m_etf_tsf5_ft0);
597 bitArray[e_etf_tsf4_nhit] = &(store->m_etf_tsf4_nhit);
598 bitArray[e_etf_tsf4_ft9] = &(store->m_etf_tsf4_ft9);
599 bitArray[e_etf_tsf4_ft8] = &(store->m_etf_tsf4_ft8);
600 bitArray[e_etf_tsf4_ft7] = &(store->m_etf_tsf4_ft7);
601 bitArray[e_etf_tsf4_ft6] = &(store->m_etf_tsf4_ft6);
602 bitArray[e_etf_tsf4_ft5] = &(store->m_etf_tsf4_ft5);
603 bitArray[e_etf_tsf4_ft4] = &(store->m_etf_tsf4_ft4);
604 bitArray[e_etf_tsf4_ft3] = &(store->m_etf_tsf4_ft3);
605 bitArray[e_etf_tsf4_ft2] = &(store->m_etf_tsf4_ft2);
606 bitArray[e_etf_tsf4_ft1] = &(store->m_etf_tsf4_ft1);
607 bitArray[e_etf_tsf4_ft0] = &(store->m_etf_tsf4_ft0);
609 bitArray[e_etf_tsf3_nhit] = &(store->m_etf_tsf3_nhit);
610 bitArray[e_etf_tsf3_ft9] = &(store->m_etf_tsf3_ft9);
611 bitArray[e_etf_tsf3_ft8] = &(store->m_etf_tsf3_ft8);
612 bitArray[e_etf_tsf3_ft7] = &(store->m_etf_tsf3_ft7);
613 bitArray[e_etf_tsf3_ft6] = &(store->m_etf_tsf3_ft6);
614 bitArray[e_etf_tsf3_ft5] = &(store->m_etf_tsf3_ft5);
615 bitArray[e_etf_tsf3_ft4] = &(store->m_etf_tsf3_ft4);
616 bitArray[e_etf_tsf3_ft3] = &(store->m_etf_tsf3_ft3);
617 bitArray[e_etf_tsf3_ft2] = &(store->m_etf_tsf3_ft2);
618 bitArray[e_etf_tsf3_ft1] = &(store->m_etf_tsf3_ft1);
619 bitArray[e_etf_tsf3_ft0] = &(store->m_etf_tsf3_ft0);
621 bitArray[e_etf_tsf2_nhit] = &(store->m_etf_tsf2_nhit);
622 bitArray[e_etf_tsf2_ft9] = &(store->m_etf_tsf2_ft9);
623 bitArray[e_etf_tsf2_ft8] = &(store->m_etf_tsf2_ft8);
624 bitArray[e_etf_tsf2_ft7] = &(store->m_etf_tsf2_ft7);
625 bitArray[e_etf_tsf2_ft6] = &(store->m_etf_tsf2_ft6);
626 bitArray[e_etf_tsf2_ft5] = &(store->m_etf_tsf2_ft5);
627 bitArray[e_etf_tsf2_ft4] = &(store->m_etf_tsf2_ft4);
628 bitArray[e_etf_tsf2_ft3] = &(store->m_etf_tsf2_ft3);
629 bitArray[e_etf_tsf2_ft2] = &(store->m_etf_tsf2_ft2);
630 bitArray[e_etf_tsf2_ft1] = &(store->m_etf_tsf2_ft1);
631 bitArray[e_etf_tsf2_ft0] = &(store->m_etf_tsf2_ft0);
633 bitArray[e_etf_tsf1_nhit] = &(store->m_etf_tsf1_nhit);
634 bitArray[e_etf_tsf1_ft9] = &(store->m_etf_tsf1_ft9);
635 bitArray[e_etf_tsf1_ft8] = &(store->m_etf_tsf1_ft8);
636 bitArray[e_etf_tsf1_ft7] = &(store->m_etf_tsf1_ft7);
637 bitArray[e_etf_tsf1_ft6] = &(store->m_etf_tsf1_ft6);
638 bitArray[e_etf_tsf1_ft5] = &(store->m_etf_tsf1_ft5);
639 bitArray[e_etf_tsf1_ft4] = &(store->m_etf_tsf1_ft4);
640 bitArray[e_etf_tsf1_ft3] = &(store->m_etf_tsf1_ft3);
641 bitArray[e_etf_tsf1_ft2] = &(store->m_etf_tsf1_ft2);
642 bitArray[e_etf_tsf1_ft1] = &(store->m_etf_tsf1_ft1);
643 bitArray[e_etf_tsf1_ft0] = &(store->m_etf_tsf1_ft0);
645 bitArray[e_etf_tsf0_nhit] = &(store->m_etf_tsf0_nhit);
646 bitArray[e_etf_tsf0_ft9] = &(store->m_etf_tsf0_ft9);
647 bitArray[e_etf_tsf0_ft8] = &(store->m_etf_tsf0_ft8);
648 bitArray[e_etf_tsf0_ft7] = &(store->m_etf_tsf0_ft7);
649 bitArray[e_etf_tsf0_ft6] = &(store->m_etf_tsf0_ft6);
650 bitArray[e_etf_tsf0_ft5] = &(store->m_etf_tsf0_ft5);
651 bitArray[e_etf_tsf0_ft4] = &(store->m_etf_tsf0_ft4);
652 bitArray[e_etf_tsf0_ft3] = &(store->m_etf_tsf0_ft3);
653 bitArray[e_etf_tsf0_ft2] = &(store->m_etf_tsf0_ft2);
654 bitArray[e_etf_tsf0_ft1] = &(store->m_etf_tsf0_ft1);
655 bitArray[e_etf_tsf0_ft0] = &(store->m_etf_tsf0_ft0);
657 bitArray[e_evt] = &(store->m_evt);
658 bitArray[e_clk] = &(store->m_clk);
659 bitArray[e_firmid] = &(store->m_firmid);
660 bitArray[e_firmvers] = &(store->m_firmvers);
681 virtual void event()
override;
690 virtual void endRun()
override;
Accessor to arrays stored in the data store.
A module of TRGCDCETFUnpacker.
virtual ~TRGCDCETFUnpackerModule()
Destructor.
virtual void initialize() override
Initilizes TRGCDCETFUnpackerUnpackerModule.
virtual void event() override
Called event by event.
virtual void endRun() override
Called when run ended.
virtual void terminate() override
Called when processing ended.
virtual void beginRun() override
Called when new run started.
virtual void fillTreeTRGCDCETFUnpacker(int *buf, int evt)
Unpacker main function.
StoreArray< TRGCDCETFUnpackerStore > m_store
Output datastore for unpacker.
TRGCDCETFUnpackerModule()
Constructor.
std::string version() const
returns version of TRGCDCETFUnpackerModule.
Abstract base class for different kinds of events.