+ if (localBoardId) { // if not empty slot
+ AliMpLocalBoard* localBoard = AliMpDDLStore::Instance()->GetLocalBoard(localBoardId);
+
+ if (localBoard->IsNotified()) {// if notified board
+ AliMUONLocalTrigger* locTrg = triggerStore.FindLocal(localBoardId);
+
+ if (locTrg)
+ {
+ locCard = locTrg->LoCircuit();
+ locDec = locTrg->GetLoDecision();
+ trigY = locTrg->LoTrigY();
+ posY = locTrg->LoStripY();
+ posX = locTrg->LoStripX();
+ devX = locTrg->LoDev();
+ sdevX = locTrg->LoSdev();
+
+ AliDebug(4,Form("loctrg %d, posX %d, posY %d, devX %d\n",
+ locTrg->LoCircuit(),locTrg->LoStripX(),locTrg->LoStripY(),locTrg->LoDev()));
+ //packing word
+ word = 0;
+ LocalWordPacking(word, (UInt_t)iLoc, (UInt_t)locDec, (UInt_t)trigY, (UInt_t)posY,
+ (UInt_t)posX, (UInt_t)sdevX, (UInt_t)devX);
+
+ buffer[index++] = (locTrg->GetX1Pattern() | (locTrg->GetX2Pattern() << 16));
+ buffer[index++] = (locTrg->GetX3Pattern() | (locTrg->GetX4Pattern() << 16));
+ buffer[index++] = (locTrg->GetY1Pattern() | (locTrg->GetY2Pattern() << 16));
+ buffer[index++] = (locTrg->GetY3Pattern() | (locTrg->GetY4Pattern() << 16));
+ buffer[index++] = (Int_t)word; // data word
+ }
+ }
+ // fill copy card X-Y inputs from the notified cards
+ if (localBoard->GetInputXfrom() && localBoard->GetInputYfrom())
+ {
+ // not triggered
+ locDec = 0; trigY = 1; posY = 15;
+ posX = 0; devX = 0; sdevX = 1;
+ LocalWordPacking(word, (UInt_t)iLoc, (UInt_t)locDec, (UInt_t)trigY, (UInt_t)posY,
+ (UInt_t)posX, (UInt_t)sdevX, (UInt_t)devX);
+
+ Int_t localFromId = localBoard->GetInputXfrom();
+ AliMUONLocalTrigger* locTrgfrom = triggerStore.FindLocal(localFromId);
+
+ if ( locTrgfrom )
+ {
+ buffer[index++] = 0; // copy only X3-4 & Y1-4
+ buffer[index++] = (locTrgfrom->GetX3Pattern() | (locTrgfrom->GetX4Pattern() << 16));
+ buffer[index++] = (locTrgfrom->GetY1Pattern() | (locTrgfrom->GetY2Pattern() << 16));
+ buffer[index++] = (locTrgfrom->GetY3Pattern() | (locTrgfrom->GetY4Pattern() << 16));
+ buffer[index++] = word;
+ }
+ }
+
+ } else {
+ // fill with 10CDEAD word for empty slots
+ for (Int_t i = 0; i < fLocalStruct->GetLength(); i++)
+ buffer[index++] = fLocalStruct->GetDisableWord();
+ }// condition localBoard
+