From 3e32c02e77fccd22e8d6a4426776cdf075866ff1 Mon Sep 17 00:00:00 2001 From: cvetan Date: Fri, 12 May 2006 07:44:41 +0000 Subject: [PATCH] Corrected version of raw data reader (Alla) --- START/AliSTARTRawReader.cxx | 128 ++++++++++++++++++++++++++---------- 1 file changed, 92 insertions(+), 36 deletions(-) diff --git a/START/AliSTARTRawReader.cxx b/START/AliSTARTRawReader.cxx index 3badaeebdb4..7a2f80de800 100644 --- a/START/AliSTARTRawReader.cxx +++ b/START/AliSTARTRawReader.cxx @@ -41,7 +41,7 @@ Bool_t AliSTARTRawReader::Next() AliBitPacking *pack ; UInt_t word, unpackword; - Int_t time, adc, pmt; + Int_t time, pmt; TArrayI *timeTDC1 = new TArrayI(24); TArrayI * chargeTDC1 = new TArrayI(24); TArrayI *timeTDC2 = new TArrayI(24); @@ -52,22 +52,45 @@ Bool_t AliSTARTRawReader::Next() } while (fRawReader->GetDataSize() == 0); fPosition = GetPosition(); + // trigger + word=0; + unpackword=0; + word = GetNextWord(); + unpackword=pack->UnpackWord(word,8,31); + time=unpackword; + word=0; + unpackword=0; + word = GetNextWord(); + unpackword=pack->UnpackWord(word,0,8); + pmt=unpackword; - for( Int_t i=0; i<11; i++) word = GetNextWord(); - // multiplicity word=0; unpackword=0; - word = GetNextWord(); + word = GetNextWord(); + unpackword=pack->UnpackWord(word,8,31); + time=unpackword; + word=0; + unpackword=0; + word = GetNextWord(); unpackword=pack->UnpackWord(word,0,8); pmt=unpackword; + word=0; unpackword=0; word = GetNextWord(); unpackword=pack->UnpackWord(word,8,31); time=unpackword; - fDigits->SetSumMult(time); + word=0; + unpackword=0; + word = GetNextWord(); + unpackword=pack->UnpackWord(word,0,8); + pmt=unpackword; - // best time differece + word=0; + unpackword=0; + word = GetNextWord(); + unpackword=pack->UnpackWord(word,8,31); + time=unpackword; word=0; unpackword=0; word = GetNextWord(); @@ -79,61 +102,95 @@ Bool_t AliSTARTRawReader::Next() word = GetNextWord(); unpackword=pack->UnpackWord(word,8,31); time=unpackword; - fDigits->SetDiffTime(time); - // best time left word=0; unpackword=0; word = GetNextWord(); unpackword=pack->UnpackWord(word,0,8); pmt=unpackword; + + +//multiplicity word=0; unpackword=0; word = GetNextWord(); unpackword=pack->UnpackWord(word,8,31); time=unpackword; - fDigits->SetTimeBestLeft(time); - - // Best time right &left word=0; unpackword=0; word = GetNextWord(); unpackword=pack->UnpackWord(word,0,8); pmt=unpackword; - + fDigits->SetSumMult(time); + + // best time differece + word=0; + unpackword=0; + word = GetNextWord(); + unpackword=pack->UnpackWord(word,8,31); + time=unpackword; + + word=0; + unpackword=0; + word = GetNextWord(); + unpackword=pack->UnpackWord(word,0,8); + pmt=unpackword; + fDigits->SetDiffTime(time); + // best time left + word=0; + unpackword=0; + word = GetNextWord(); + unpackword=pack->UnpackWord(word,8,31); + time=unpackword; word=0; unpackword=0; + word = GetNextWord(); + unpackword=pack->UnpackWord(word,0,8); + pmt=unpackword; + fDigits->SetTimeBestLeft(time); + // Best time right &left + word=0; + unpackword=0; word = GetNextWord(); unpackword=pack->UnpackWord(word,8,31); time=unpackword; - fDigits->SetTimeBestRight(time); word=0; unpackword=0; + word = GetNextWord(); unpackword=pack->UnpackWord(word,0,8); pmt=unpackword; + fDigits->SetTimeBestRight(time); + // mean word=0; unpackword=0; word = GetNextWord(); unpackword=pack->UnpackWord(word,8,31); time=unpackword; - fDigits->SetMeanTime(time); - + + word=0; + unpackword=0; + + word = GetNextWord(); + unpackword=pack->UnpackWord(word,0,8); + pmt=unpackword; + fDigits->SetMeanTime(time); + for (Int_t i=0; i<24; i++) //QTC amplified { word=0; unpackword=0; word = GetNextWord(); - unpackword=pack->UnpackWord(word,0,8); - pmt=unpackword; + unpackword=pack->UnpackWord(word,8,31); + time=unpackword; word=0; unpackword=0; word = GetNextWord(); - unpackword= pack->UnpackWord(word,8,31); - adc=unpackword; - chargeTDC2->AddAt(adc,pmt-72); + unpackword= pack->UnpackWord(word,0,8); + pmt=unpackword; + chargeTDC2->AddAt(time,pmt-72); } for (Int_t i=0; i<24; i++) @@ -142,14 +199,14 @@ Bool_t AliSTARTRawReader::Next() word=0; unpackword=0; word = GetNextWord(); - unpackword=pack->UnpackWord(word,0,8); - pmt=unpackword; + unpackword=pack->UnpackWord(word,8,31); + time=unpackword; word=0; unpackword=0; word = GetNextWord(); - unpackword= pack->UnpackWord(word,8,31); - adc=unpackword; // - chargeTDC1->AddAt(adc,pmt-48); + unpackword= pack->UnpackWord(word,0,8); + pmt=unpackword; // + chargeTDC1->AddAt(time,pmt-48); } for (Int_t i=0; i<24; i++) //time CFD @@ -157,13 +214,13 @@ Bool_t AliSTARTRawReader::Next() word=0; unpackword=0; word = GetNextWord(); - unpackword=pack->UnpackWord(word,0,8); - pmt=unpackword; + unpackword=pack->UnpackWord(word,8,31); + time=unpackword; word=0; unpackword=0; word = GetNextWord(); - unpackword=pack->UnpackWord(word,8,31); - time=unpackword; + unpackword=pack->UnpackWord(word,0,8); + pmt=unpackword; timeTDC2->AddAt(time,pmt-24); } @@ -173,15 +230,15 @@ Bool_t AliSTARTRawReader::Next() word=0; unpackword=0; word = GetNextWord(); - unpackword=pack->UnpackWord(word,0,31); - pmt=unpackword; + unpackword=pack->UnpackWord(word,8,31); + time=unpackword; word=0; unpackword=0; word = GetNextWord(); - unpackword=pack->UnpackWord(word,8,31); - time=unpackword; - timeTDC1->AddAt(time,i); + unpackword=pack->UnpackWord(word,0,8); + pmt=unpackword; + timeTDC1->AddAt(time,pmt); } @@ -216,7 +273,6 @@ UInt_t AliSTARTRawReader::GetNextWord() // The input stream access is given by fData and fPosition fPosition--; - Int_t iBit = fPosition * 32; Int_t iByte = iBit / 8; @@ -225,7 +281,7 @@ UInt_t AliSTARTRawReader::GetNextWord() word |= fData[iByte+2]<<16; word |= fData[iByte+1]<<8; word |= fData[iByte]; - +// fPosition--; return word; } -- 2.39.3