X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=T0%2FAliT0RawData.cxx;h=8e38d8939cc584235005b641df76a2d0ad4a4128;hb=76be5eed910d6cfbe1f11ad5360e5d0d70e40769;hp=7bee16567ea4b0fbdb053b0b89acf94064be0d02;hpb=d8079a1ae74c274115e7f617c401d95b8053e1c3;p=u%2Fmrichter%2FAliRoot.git diff --git a/T0/AliT0RawData.cxx b/T0/AliT0RawData.cxx index 7bee16567ea..8e38d8939cc 100644 --- a/T0/AliT0RawData.cxx +++ b/T0/AliT0RawData.cxx @@ -21,8 +21,8 @@ // // /////////////////////////////////////////////////////////////////////////////// -#include -#include +//#include +//#include #include #include "AliT0.h" #include "AliT0RawData.h" @@ -35,6 +35,7 @@ #include "AliRunLoader.h" #include "AliDAQ.h" #include "AliT0LookUpValue.h" +#include "AliT0LookUpKey.h" ClassImp(AliT0RawData) @@ -51,7 +52,6 @@ ClassImp(AliT0RawData) fDataHeaderPos(0), fDRMDataHeaderPos(0), fTRMDataHeaderPos(0), - fDigits(0), fParam(0), fLookUp(0) @@ -82,7 +82,7 @@ uncertances memset(fBuffer,0,512*sizeof(UInt_t)); //get event number - AliRunLoader *runloader = AliRunLoader::GetRunLoader(); + AliRunLoader *runloader = AliRunLoader::Instance(); if (runloader) { fEventNumber = runloader->GetEventNumber(); } @@ -121,7 +121,6 @@ AliT0RawData::AliT0RawData(const AliT0RawData &r):TObject(), fDataHeaderPos(0), fDRMDataHeaderPos(0), fTRMDataHeaderPos(0), - fDigits(0) , fParam(0), fLookUp(0) @@ -140,14 +139,11 @@ AliT0RawData::~AliT0RawData() // // Destructor // - if (fDigits) { - delete fDigits; - fDigits = NULL; - } delete fTimeCFD; delete fADC1; delete fTimeLED; delete fADC0; + delete fFile; } //_____________________________________________________________________________ @@ -164,6 +160,7 @@ AliT0RawData &AliT0RawData::operator=(const AliT0RawData &r) //_____________________________________________________________________________ void AliT0RawData::GetDigits(AliT0digit *fDigits) +//void AliT0RawData::GetDigits(fDigits) { //This method packs the T0 digits in a proper 32 bits structure @@ -188,26 +185,37 @@ void AliT0RawData::GetDigits(AliT0digit *fDigits) Int_t timeC = fDigits->BestTimeA(); - TArrayI *allData = new TArrayI(110); - Int_t i=0; - allData->AddAt(0,0); - for (i=1; i<25; i++) { - allData->AddAt(fTimeLED->At(i-1),i); - allData->AddAt(fTimeCFD->At(i-1),i+24); - allData->AddAt(fADC0->At(i-1),i+56); - allData->AddAt(fADC1->At(i-1),i+80); - + // TArrayI *allData = new TArrayI(110); + Int_t allData[110][1]; + for (Int_t i=0; i<110; i++) allData[i][0] = 0; + + allData[0][0]=0; + for (Int_t i=1; i<13; i++) { + allData[i][0] = fTimeCFD->At(i-1); + allData[i+12][0] = fTimeLED->At(i-1); + allData[i+56][0] = fTimeCFD->At(i-1+12); + allData[i+68][0] = fTimeLED->At(i-1+12); + } + + for (Int_t iii=0; iii<12; iii++) { + allData[2*iii+25][0] = fADC1->At(iii); + allData[2*iii+26][0] = fADC0->At(iii); + } + for (Int_t ii=12; ii<24; ii++) { + allData[2*ii+57][0] = fADC1->At(ii); + allData[2*ii+58][0] = fADC0->At(ii); } - allData->AddAt(meantime,49); - allData->AddAt(timediff,50); - allData->AddAt(timeA,51); - allData->AddAt(timeC,52); - allData->AddAt(mult0,53); - allData->AddAt(mult1,54); - allData->AddAt(mult0,55); - allData->AddAt(mult1,56); - - cout.setf( ios_base::hex, ios_base::basefield ); + + allData[49][0] = meantime; + allData[50][0] = timediff; + allData[51][0] = timeA; + allData[52][0] = timeC; + allData[53][0] = mult0; + allData[54][0] = mult1; + allData[55][0] = mult0; + allData[56][0] = mult1; + + // cout.setf( ios_base::hex, ios_base::basefield ); //space for DRM header fIndex += 6; @@ -228,42 +236,30 @@ void AliT0RawData::GetDigits(AliT0digit *fDigits) Int_t trm1words=0; Int_t itrm=7; Int_t inside =0; + Int_t isData = 0; AliT0LookUpKey * lookkey = new AliT0LookUpKey(); AliT0LookUpValue * lookvalue ;//= new AliT0LookUpValue(trm,tdc,chain,channel); for (Int_t det = 0; det < 105; det++) { - time = allData->At(det); - if (time >0) { + time = allData[det][0]; + if (time >0 && time !=99999) { lookkey->SetKey(det); lookvalue = (AliT0LookUpValue*) fLookUp.GetValue((TObject*)lookkey); if (lookvalue ) { + isData++; itrm= lookvalue->GetTRM(); -// cout<<" TRM "<56 &&inside ==0) { + if (det >56 &&inside == 0) { WriteChainDataTrailer(1); // 1st chain trailer fIndex++; WriteChainDataHeader(2, 1); // fIndex++; inside++; - // WriteChainDataTrailer(3); // 2st chain trailer - // WriteTrailer(15,0,fEventNumber,5); // 1st TRM trailer - /* - - trm1words = fIndex - startTRM; - WriteTRMDataHeader(oldtrm, trm1words , positionOfTRMHeader); - //space for 2st TRM header - startTRM=fIndex; - fIndex ++; - positionOfTRMHeader= fIndex; - fIndex ++; - // oldtrm=itrm; - */ } chain = lookvalue->GetChain(); iTDC = lookvalue->GetTDC(); channel = lookvalue->GetChannel(); - // cout<<" chain "<< chain<<" iTDC "< mask){ - Error("PackWord", "Word to be filled is not within desired length\n" - "Word:%d Start bit:%d Stop Bit:%d",Word,StartBit,StopBit); - return; - } - BaseWord=(BaseWord&~(mask<