fGlobalEoWErrors(0),
fRegEoWErrors(0),
fLocalEoWErrors(0),
- fWarnings(kTRUE)
+ fWarnings(kTRUE),
+ fNofRegSet(kFALSE)
{
///
/// create an object to read MUON raw digits
memcpy(darcHeader->GetHeader(), &buffer[index], (kDarcHeaderSize)*4);
index += kDarcHeaderSize;
- if(darcHeader->GetEventType() == 0) {
- scalerEvent = kTRUE;
- } else
- scalerEvent = kFALSE;
-
+ if (!fNofRegSet) // if regional board number not set, set it with darc type
+ {
+ // darc type vardorh
+ if (darcHeader->GetDarcType() == 4)
+ fMaxReg = 1;
+
+ // darc type def.
+ if (darcHeader->GetDarcType() == 6)
+ fMaxReg = 8;
+
+ if(darcHeader->GetEventType() == 0) {
+ scalerEvent = kTRUE;
+ } else
+ scalerEvent = kFALSE;
+ }
+
if(scalerEvent) {
// 6 DARC scaler words
memcpy(darcHeader->GetDarcScalers(), &buffer[index], darcHeader->GetDarcScalerLength()*4);
{
/// set regional card number
if (reg > 8) reg = 8;
- fMaxReg = reg;
+ fMaxReg = reg;
+
+ fNofRegSet = kTRUE;
}
//______________________________________________________
AliMUONRegHeader* fRegHeader; //!< pointer for regional structure
AliMUONLocalStruct* fLocalStruct; //!< pointer to local structure
- AliMUONLogger* fLog; //!< Map of errors msg;
+ AliMUONLogger* fLog; //!< Map of errors msg;
Int_t fDarcEoWErrors; //!< number of end of DARC word errors;
Int_t fGlobalEoWErrors; //!< number of end of global word errors;
Int_t fRegEoWErrors; //!< number of end of regional word errors;
Int_t fLocalEoWErrors; //!< number of end of local word errors;
- Bool_t fWarnings; //!< flag to enable/disable warnings
- ClassDef(AliMUONPayloadTrigger, 2) // base class for reading MUON trigger rawdata
+ Bool_t fWarnings; //!< flag to enable/disable warnings
+ Bool_t fNofRegSet; //!< true if number of regional boards is set from outside
+
+ ClassDef(AliMUONPayloadTrigger, 3) // base class for reading MUON trigger rawdata
};
#endif