#include "AliRawReader.h"
#include <TArrayS.h>
+using std::endl;
+using std::cout;
/// \cond CLASSIMP
ClassImp(AliMUONDigitMaker) // Class implementation in ROOT context
/// \endcond
// if card exist
if (localStruct) {
- loCircuit = crate->GetLocalBoardId(localStruct->GetId());
-
- if ( !loCircuit ) continue; // empty slot
-
- AliMpLocalBoard* localBoard = AliMpDDLStore::Instance()->GetLocalBoard(loCircuit, kTRUE);
-
- // skip copy cards
- if( !localBoard->IsNotified())
- continue;
+ loCircuit = crate->GetLocalBoardId(localStruct->GetId());
+
+ if ( !loCircuit ) continue; // empty slot
+
if (fTriggerStore)
{
// fill local trigger
AliMUONLocalTrigger localTrigger;
- localTrigger.SetLocalStruct(loCircuit, *localStruct);
+ localTrigger.SetLocalStruct(loCircuit, *localStruct);
fTriggerStore->Add(localTrigger);
}
//FIXEME should find something better than a TArray
TArrayS xyPattern[2];
- localStruct->GetXPattern(xyPattern[0]);
- localStruct->GetYPattern(xyPattern[1]);
+ localStruct->GetXPattern(xyPattern[0]);
+ localStruct->GetYPattern(xyPattern[1]);
TriggerDigits(loCircuit, xyPattern, *fDigitStore);
}
//____________________________________________________________________
Int_t AliMUONDigitMaker::TriggerDigits(Int_t nBoard,
const TArrayS* xyPattern,
- AliMUONVDigitStore& digitStore) const
+ AliMUONVDigitStore& digitStore, Bool_t warn) const
{
/// make digits for trigger from pattern, and add them to digitStore
Int_t detElemId;
AliMpLocalBoard* localBoard = AliMpDDLStore::Instance()->GetLocalBoard(nBoard);
+
+ if ( ! localBoard->IsNotified() ) {
+ // Copy board
+ // The mapping is not correct for copy boards
+ // Use the one of corresponding phyiscal board
+ nBoard = localBoard->GetInputXfrom();
+ }
Int_t n,b;
Int_t offset = 0;
if (iCath && localBoard->GetSwitch(AliMpLocalBoard::kZeroAllYLSB)) offset = -8;
- AliMpPad pad = seg->PadByLocation(nBoard,ibitxy+offset,kTRUE);
+ AliMpPad pad = seg->PadByLocation(nBoard,ibitxy+offset,warn);
if (!pad.IsValid())
{