X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSRawStreamSDDCompressed.cxx;h=5d285c5687c6bd224492a3fe066fc925b2b3aa32;hb=ab4aef8b66a36e334eb86617a8e67a163916380a;hp=c2da42667f93452d9eba96a25eb014e66fbf8d12;hpb=dae869a3f7ea6dfe3908627a4959a6ea0665e6fa;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSRawStreamSDDCompressed.cxx b/ITS/AliITSRawStreamSDDCompressed.cxx index c2da42667f9..5d285c5687c 100644 --- a/ITS/AliITSRawStreamSDDCompressed.cxx +++ b/ITS/AliITSRawStreamSDDCompressed.cxx @@ -24,7 +24,7 @@ // 29 | // // 28 |-> 4 bits to identify the Carlos (0-11) inside the DDL // // 27 - // -// 26 detecot side (0= left, =right) // +// 26 detecor side (0= left, =right) // // 25 - // // 24 | // // 23 | // @@ -52,9 +52,11 @@ // 1 | // // 0 - // // // -// Plus 2 types of control words: // -// - Jitter word = 1000 // -// - End of module data (needed by the Cluster Finder) = 1111 // +// Plus 3 types of control words // +// identified by the the 4 most significant bits (31-28) // +// 1) Jitter word = 1000 // +// 2) JTAG answer = 1100 // +// 3) End of module data (needed by the Cluster Finder) = 1111 // // // // Origin: F.Prino, Torino, prino@to.infn.it // // // @@ -149,11 +151,11 @@ Bool_t AliITSRawStreamSDDCompressed::Next() // returns kTRUE and fCompletedModule=kFALSE and fCompletedDDL=kTRUE when a DDL is completed (=jitter word) - UInt_t maskjit=8; // Jitter word has the 4 most significant bits = 1000 - UInt_t maskeom=15; // end of module has the 4 most significant bits = 1111 + UInt_t idJit=8; // Jitter word has the 4 most significant bits = 1000 + UInt_t idEom=15; // end of module has the 4 most significant bits = 1111 + UInt_t idJtag=12; // end of module has the 4 most significant bits = 1100 + UInt_t maskmod=15; // last 4 bits for module number in end of module word - // UInt_t maskDDL=0xFF; // last 8 bits for DDL number in start of DDL word - UInt_t maskCarlos=15<<27; // 4 bits (27-30) for CarlosId in data word UInt_t maskSide=1<<26; // 1 bit (26) for side in data word UInt_t maskAnode=255<<18; // 8 bits (18-25) for Nanode in data word @@ -166,19 +168,25 @@ Bool_t AliITSRawStreamSDDCompressed::Next() UInt_t mostsigbits=fData>>28; if(fData==0xFFFFFFFF){ // CarlosRX header do nothing - } else if(mostsigbits==maskeom){ + } else if(mostsigbits==idEom){ + // end of module word fCarlosId=fData&maskmod; fDDL=fRawReader->GetDDLID(); fModuleID = GetModuleNumber(fDDL,fCarlosId); fCompletedDDL=kFALSE; fCompletedModule=kTRUE; return kTRUE; - } else if(mostsigbits==maskjit){ + } else if(mostsigbits==idJit){ + // jitter word fJitter = fData&0x000000ff; fCompletedModule=kFALSE; fCompletedDDL=kTRUE; return kTRUE; - }else{ + } else if(mostsigbits==idJtag){ + // jtag word -> skipped + continue; + }else if(mostsigbits<8){ + // data word fCarlosId=(fData&maskCarlos)>>27; fDDL=fRawReader->GetDDLID(); fModuleID = GetModuleNumber(fDDL,fCarlosId);