Bool_t AliTRDrawStream::fgStackNumberChecker = kTRUE;\r
Bool_t AliTRDrawStream::fgStackLinkNumberChecker = kTRUE;\r
Bool_t AliTRDrawStream::fgSkipData = kTRUE;\r
+Bool_t AliTRDrawStream::fgEnableDecodeConfigData = kFALSE;\r
Int_t AliTRDrawStream::fgDumpHead = -1;\r
Int_t AliTRDrawStream::fgCommonAdditive = 0;\r
Int_t AliTRDrawStream::fgEmptySignals[] = \r
fgLastIndex = -1 ; // to check mcm number odering \r
if (DecodeHC() == kFALSE)\r
{\r
- if ((fHC->fRawVMajor & 64) == 64 && fHC->fRawVMajorOpt == 7) continue; // special treatmeant for the configuration data which doesn't have data-end-marker \r
fSM.fClean = kFALSE;\r
if (fHC->fCorrupted < 16) SeekEndOfData(); // In case that we meet END_OF_TRACKLET_MARKERNEW \r
// during ADC data decoding or MCM header decoding\r
fMCM->fROW = fTRDfeeParam->GetPadRowFromMCM(fMCM->fROB, fMCM->fMCM); \r
\r
if ((fHC->fRawVMajor > 2 && fHC->fRawVMajor <5) || ((fHC->fRawVMajor & 32) == 32)) //cover old and new version definition of ZS data\r
- //if ((fHC->fRawVMajor > 2 && fHC->fRawVMajor <5) || (fHC->fRawVMajor > 31 && fHC->fRawVMajor < 64)) //cover old and new version definition of ZS data\r
{\r
fpPos++;\r
if ( fpPos < fpEnd )\r
if (fgWarnError) AliError("failed to decode test pattern data");\r
return kFALSE; \r
}\r
- else if(fHC->fRawVMajorOpt == 7) return kFALSE; // always return false in case of configuration data(special treatment due to lack of data-end-marker).\r
return kTRUE;\r
} \r
\r
static void SetSubtractBaseline(Int_t baseline) {fgCommonAdditive = baseline;}
Int_t GetCommonAdditive() const {return fgCommonAdditive;} // return the common additive
+ static void EnableDecodeConfigData() {fgEnableDecodeConfigData = kTRUE;} // allow configuration data decoding
+ static Bool_t fgEnableDecodeConfigData;
+
+
//--------------------------------------------------------
// Decoding functions
//--------------------------------------------------------
#include "TString.h"
#include "AliLog.h"
+#include "AliTRDrawStream.h"
#include "AliTRDrawTPStream.h"
//---------------------------------------------------------------------
Bool_t AliTRDrawTPStream::DecodeTPdata()
{
- //////////////////////////////////////////////////////////////////////////////////////
- //since this is not yet tested with test pattern data, by default, it returns false!!!
- AliError("These are test pattern data. You need other reader");
- return kFALSE;
- //////////////////////////////////////////////////////////////////////////////////////
- if (fRawVMajorOpt == 7)
+ if (fRawVMajorOpt == 7)
{
+ AliInfo("This is configuration data event read by first trigger.");
+ if(!AliTRDrawStream::fgEnableDecodeConfigData) return kTRUE;
if (DecodeConfigdata() == kFALSE) // configuration data
{
AliError("failed to to decode configuration data");
err = 0;
// decode mcm header
- if(!MCM_HEADER_MASK_ERR(vword)) err++;
+ if(MCM_HEADER_MASK_ERR(vword)) err++;
robNum = MCM_ROB_NUMBER(vword);
mcmNum = MCM_MCM_NUMBER(vword);
iLength++;
} while (NoEndMarker && (iLength < 256));
+ word++;
+ fpPos = word;
+
*nWords = iLength;
if (iLength == 0)
return -1;