359 LOG(info) <<
"ReInit parameter containers for CbmDeviceUnpackMcbm2018TofPar.";
398 UInt_t uGet4topadi[32] = {4, 3, 2, 1,
399 8, 7, 6, 5, 12, 11, 10, 9, 16, 15, 14, 13, 20, 19,
400 18, 17, 24, 23, 22, 21, 28, 27, 26, 25, 32, 31, 30, 29};
402 UInt_t uPaditoget4[32] = {4, 3, 2, 1,
403 12, 11, 10, 9, 20, 19, 18, 17, 28, 27, 26, 25, 32, 31,
404 30, 29, 8, 7, 6, 5, 16, 15, 14, 13, 24, 23, 22, 21};
414 UInt_t kuElinkToGet4[
kuNbGet4PerGbtx] = {27, 2, 7, 3, 31, 26, 30, 1, 33, 37, 32, 13, 9, 14,
415 10, 15, 17, 21, 16, 35, 34, 38, 25, 24, 0, 6, 20, 23,
416 18, 22, 28, 4, 29, 5, 19, 36, 39, 8, 12, 11};
417 UInt_t kuGet4ToElink[
kuNbGet4PerGbtx] = {24, 7, 1, 3, 31, 33, 25, 2, 37, 12, 14, 39, 38, 11,
418 13, 15, 18, 16, 28, 34, 26, 17, 29, 27, 23, 22, 5, 0,
419 30, 32, 6, 4, 10, 8, 20, 19, 35, 9, 21, 36};
431 for (UInt_t iGbtx = 0; iGbtx < uNrOfGbtx; ++iGbtx) {
439 LOG(info) <<
"Nr. of possible Tof channels: " << uNrOfChannels;
444 for (UInt_t iGbtx = 0; iGbtx < uNrOfGbtx; iGbtx++) {
450 const Int_t RpcMap[5] = {4, 2, 0, 3, 1};
451 for (Int_t iRpc = 0; iRpc <
fviNrOfRpc[iGbtx]; iRpc++) {
455 for (Int_t iStr = 0; iStr < iStrMax; iStr++) {
456 Int_t iStrMap = iStr;
457 Int_t iRpcMap = RpcMap[iRpc];
459 if (
fviRpcSide[iGbtx] == 0) iStrMap = 31 - iStr;
476 const Int_t RpcMap[3] = {0, 1, 2};
477 for (Int_t iRpc = 0; iRpc <
fviNrOfRpc[iGbtx]; iRpc++) {
481 for (Int_t iStr = 0; iStr < iStrMax; iStr++) {
482 Int_t iStrMap = iStr;
483 Int_t iRpcMap = RpcMap[iRpc];
485 if (
fviRpcSide[iGbtx] == 0) iStrMap = 31 - iStr;
501 LOG(info) <<
" Map diamond at GBTX - iCh = " << iCh;
504 if (uFee < 4 && (0 == uCh % 4 || uCh < 4)) {
511 LOG(info) << Form(
"Map Bmon Ch %d to Address 0x%08x", iCh,
fviRpcChUId[iCh]);
523 LOG(info) <<
" Map CERN 20 gap at GBTX - iCh = " << iCh;
525 const Int_t StrMap[32] = {0, 1, 2, 3, 4, 31, 5, 6, 7, 30, 8,
526 9, 10, 29, 11, 12, 13, 14, 28, 15, 16, 17,
527 18, 27, 26, 25, 24, 23, 22, 21, 20, 19};
530 Int_t iModuleType = 7;
532 for (Int_t iFeet = 0; iFeet < 2; iFeet++) {
533 for (Int_t iStr = 0; iStr < 32; iStr++) {
534 Int_t iStrMap = 31 - 12 - StrMap[iStr];
535 Int_t iSideMap = iFeet;
549 Int_t iModuleType = 8;
550 for (Int_t iRpc = 0; iRpc < 8; iRpc++) {
554 iCh += (24 + 2 * 32);
556 LOG(info) <<
" Map end ceramics box at GBTX - iCh = " << iCh;
563 LOG(info) <<
" Map Star2 box at GBTX - iCh = " << iCh;
564 const Int_t iRpc[5] = {1, -1, 1, 0, 0};
565 const Int_t iSide[5] = {1, -1, 0, 1, 0};
566 for (Int_t iFeet = 0; iFeet < 5; iFeet++) {
567 for (Int_t iStr = 0; iStr < 32; iStr++) {
568 Int_t iStrMap = iStr;
569 Int_t iRpcMap = iRpc[iFeet];
570 Int_t iSideMap = iSide[iFeet];
571 if (iSideMap == 0) iStrMap = 31 - iStr;
602 LOG(info) <<
" DevMap Buc box at GBTX - iCh = " << iCh;
603 const Int_t iRpc[5] = {0, -1, 0, 1, 1};
604 const Int_t iSide[5] = {1, -1, 0, 1, 0};
605 for (Int_t iFeet = 0; iFeet < 5; iFeet++) {
606 for (Int_t iStr = 0; iStr < 32; iStr++) {
607 Int_t iStrMap = iStr;
608 Int_t iRpcMap = iRpc[iFeet];
609 Int_t iSideMap = iSide[iFeet];
615 iRpcMap = 1 - iRpcMap;
619 iSideMap = 1 - iSideMap;
623 iRpcMap = 1 - iRpcMap;
624 iSideMap = 1 - iSideMap;
627 iRpcMap = 1 - iRpcMap;
635 case 0: iRpcMap = 0;
break;
636 case 1: iRpcMap = 1;
break;
638 if (iFeet > 2) iModuleIdMap = 1;
642 const Int_t iChMap[160]={
643 127, 126, 125, 124, 12, 13, 14, 15, 7, 6, 5, 4, 28, 29, 30, 31, 123, 122, 121, 120, 8, 9, 10, 11, 107, 106, 105, 104, 108, 109, 110, 111,
644 39, 38, 37, 36, 52, 53, 54, 55, 63, 62, 61, 60, 128, 129, 130, 131, 43, 42, 41, 40, 148, 149, 150, 151, 59, 58, 57, 56, 132, 133, 134, 135,
645 139, 138, 137, 136, 140, 141, 142, 143, 99, 98, 97, 96, 64, 65, 66, 67, 103, 102, 101, 100, 84, 85, 86, 87, 155, 154, 153, 152, 68, 69, 70, 71,
646 159, 158, 157, 156, 144, 145, 146, 147, 47, 46, 45, 44, 76, 77, 78, 79, 51, 50, 49, 48, 20, 21, 22, 23, 35, 34, 33, 32, 116, 117, 118, 119,
647 75, 74, 73, 72, 92, 93, 94, 95, 19, 18, 17, 16, 80, 81, 82, 83, 115, 114, 113, 112, 24, 25, 26, 27, 91, 90, 89, 88, 0, 1, 2, 3
650 Int_t iInd = iFeet * 32 + iStr;
653 if (iInd == iChMap[i])
break;
655 Int_t iFeetInd = (i - iStrMap) / 32;
673 case 4: iSideMap = -1;
break;
676 LOG(info) <<
"Buc of GBTX " << iGbtx
677 << Form(
", Feet %1d, Str %2d, i %3d, FeetInd %1d, Rpc %1d, Side %1d, Str %2d ", iFeet, iStr,
678 i, iFeetInd, iRpcMap, iSideMap, iStrMap);
694 LOG(info) <<
" Found unused GBTX link at iCh = " << iCh;
698 default: LOG(error) <<
"Invalid Type specifier for Gbtx " << iGbtx <<
": " <<
fviRpcType[iGbtx];
702 for (UInt_t i = 0; i < uNrOfChannels; i = i + 8) {
703 if (i % 64 == 0) LOG(info) <<
" Index " << i;
704 LOG(info) << Form(
"0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x",
fviRpcChUId[i],
fviRpcChUId[i + 1],