13 #include <framework/datastore/StoreObjPtr.h>
14 #include <framework/datastore/StoreArray.h>
16 #include <mdst/dataobjects/TRGSummary.h>
17 #include <trg/gdl/dataobjects/TRGGDLDST.h>
18 #include <trg/gdl/modules/trggdlDST/trggdlDSTModule.h>
19 #include <trg/gdl/modules/trggdlUnpacker/trggdlUnpackerModule.h>
43 for (
int i = 0; i < 320; i++) {
44 LeafBitMap[i] = m_unpacker->getLeafMap(i);
46 for (
int i = 0; i < 320; i++) {
47 strcpy(LeafNames[i], m_unpacker->getLeafnames(i));
58 for (
int i = 0; i < 320; i++) {
59 if (strcmp(LeafNames[i],
"timtype") == 0) _e_timtype = LeafBitMap[i];
60 if (strcmp(LeafNames[i],
"gdll1rvc") == 0) _e_gdll1rvc = LeafBitMap[i];
61 if (strcmp(LeafNames[i],
"coml1rvc") == 0) _e_coml1rvc = LeafBitMap[i];
62 if (strcmp(LeafNames[i],
"toprvc") == 0) _e_toprvc = LeafBitMap[i];
63 if (strcmp(LeafNames[i],
"eclrvc") == 0) _e_eclrvc = LeafBitMap[i];
64 if (strcmp(LeafNames[i],
"cdcrvc") == 0) _e_cdcrvc = LeafBitMap[i];
65 if (strcmp(LeafNames[i],
"toptiming") == 0) _e_toptiming = LeafBitMap[i];
66 if (strcmp(LeafNames[i],
"ecltiming") == 0) _e_ecltiming = LeafBitMap[i];
67 if (strcmp(LeafNames[i],
"cdctiming") == 0) _e_cdctiming = LeafBitMap[i];
75 n_leafs = m_unpacker->getnLeafs();
77 n_leafsExtra = m_unpacker->getnLeafsExtra();
78 int n_clocks = m_unpacker->getnClks();
87 for (
int i = 0; i < 320; i++) {
88 if (strcmp(entAry[0]->m_unpackername[i],
"clk") == 0) clk_map = i;
91 std::vector<std::vector<int> > _data(n_leafs + n_leafsExtra);
92 for (
int leaf = 0; leaf < n_leafs + n_leafsExtra; leaf++) {
93 std::vector<int> _v(n_clocks);
98 for (
int ii = 0; ii < entAry.
getEntries(); ii++) {
99 std::vector<int*> Bits(n_leafs + n_leafsExtra);
101 for (
int i = 0; i < 320; i++) {
102 if (LeafBitMap[i] != -1) {
103 Bits[LeafBitMap[i]] = &(entAry[ii]->m_unpacker[i]);
106 for (
int leaf = 0; leaf < n_leafs + n_leafsExtra; leaf++) {
107 _data[leaf][entAry[ii]->m_unpacker[clk_map]] = *Bits[leaf];
113 GDLResult->setGdlL1Time(_data[_e_gdll1rvc][n_clocks - 1]);
114 GDLResult->setComL1Time(_data[_e_coml1rvc][n_clocks - 1]);
115 GDLResult->setTimsrcGdlTime(_data[_e_toprvc][n_clocks - 1],
116 _data[_e_eclrvc][n_clocks - 1],
117 _data[_e_cdcrvc][n_clocks - 1]);
118 GDLResult->setT0(_data[_e_toptiming][n_clocks - 1],
119 _data[_e_ecltiming][n_clocks - 1],
120 _data[_e_cdctiming][n_clocks - 1]);
123 GDL::EGDLTimingType gtt = (GDL::EGDLTimingType)_data[_e_timtype][0];
125 if (gtt == GDL::e_tt_cdc) {
127 }
else if (gtt == GDL::e_tt_ecl) {
129 }
else if (gtt == GDL::e_tt_top) {
131 }
else if (gtt == GDL::e_tt_dphy) {
133 }
else if (gtt == GDL::e_tt_rand) {
135 }
else if (gtt == GDL::e_tt_psnm) {