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);
678 virtual void event()
override;
687 virtual void endRun()
override;
Accessor to arrays stored in the data store.
A module of TRGCDCETFUnpacker.
bool m_pciedata
PCIe40 data or copper data.
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.
unsigned int m_pcie40_ch
channel ID of PCIe40 module
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.
unsigned int m_pcie40_address
address of PCIe40 module
StoreArray< TRGCDCETFUnpackerStore > m_store
Output datastore for unpacker.
unsigned int m_copper_address
address of copper module
TRGCDCETFUnpackerModule()
Constructor.
std::string version() const
returns version of TRGCDCETFUnpackerModule.
unsigned int m_copper_ab
address of copper module
Abstract base class for different kinds of events.