-{
- /// reading tracker DDL
- /// filling the fTriggerStore container, which must not be null
-
- AliDebug(1,"");
-
- AliMUONDDLTrigger* ddlTrigger = 0x0;
- AliMUONDarcHeader* darcHeader = 0x0;
- AliMUONRegHeader* regHeader = 0x0;
- AliMUONLocalStruct* localStruct = 0x0;
-
- Int_t loCircuit;
-
- AliCodeTimerAuto("");
-
- if (UsingFastTriggerDecoder()) return ReadTriggerDDLFast(rawReader);
-
- fRawStreamTrigger->SetReader(rawReader);
-
- while (fRawStreamTrigger->NextDDL())
- {
- ddlTrigger = fRawStreamTrigger->GetDDLTrigger();
- darcHeader = ddlTrigger->GetDarcHeader();
-
- // fill global trigger information
- if (fTriggerStore)
- {
- if (darcHeader->GetGlobalFlag())
- {
- AliMUONGlobalTrigger globalTrigger;
- globalTrigger.SetFromGlobalResponse(darcHeader->GetGlobalOutput());
- fTriggerStore->SetGlobal(globalTrigger);
- }
- }
-
- Int_t nReg = darcHeader->GetRegHeaderEntries();
-
- for(Int_t iReg = 0; iReg < nReg ;iReg++)
- { //reg loop
-
-
- // crate info
- AliMpTriggerCrate* crate = AliMpDDLStore::Instance()->
- GetTriggerCrate(fRawStreamTrigger->GetDDL(), iReg);
-
- if (!crate)
- fLogger->Log(Form("Missing crate number %d in DDL %d\n", iReg, fRawStreamTrigger->GetDDL()));
-
-
- regHeader = darcHeader->GetRegHeaderEntry(iReg);
-
- Int_t nLocal = regHeader->GetLocalEntries();
- for(Int_t iLocal = 0; iLocal < nLocal; iLocal++)
- {
-
- localStruct = regHeader->GetLocalEntry(iLocal);
-
- // if card exist
- if (localStruct) {
-
- loCircuit = crate->GetLocalBoardId(localStruct->GetId());
-
- if ( !loCircuit ) continue; // empty slot
-
- AliMpLocalBoard* localBoard = AliMpDDLStore::Instance()->GetLocalBoard(loCircuit, false);
-
- // skip copy cards
- if( !localBoard->IsNotified())
- continue;
-
- if (fTriggerStore)
- {
- // fill local trigger
- AliMUONLocalTrigger localTrigger;
- localTrigger.SetLocalStruct(loCircuit, *localStruct);
- fTriggerStore->Add(localTrigger);
- }
-
- if ( fMakeTriggerDigits )
- {
- //FIXEME should find something better than a TArray
- TArrayS xyPattern[2];
-
- localStruct->GetXPattern(xyPattern[0]);
- localStruct->GetYPattern(xyPattern[1]);
-
- TriggerDigits(loCircuit, xyPattern, *fDigitStore);
- }
- } // if triggerY
- } // iLocal
- } // iReg
- } // NextDDL
-
- return kOK;
-}
-
-//____________________________________________________________________
-Int_t
-AliMUONDigitMaker::ReadTriggerDDLFast(AliRawReader* rawReader)