X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCDDLRawData.cxx;h=0358842b5fc10099445ba991be5af9ec94ef4e61;hb=fe004456ecb6a26322d2abcfefb698ac6d703ce0;hp=60cae504a9e5be7e26d2e28c95f976e46646191b;hpb=b47ae83885077969ebaff903a55986536cf9753f;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCDDLRawData.cxx b/TPC/AliTPCDDLRawData.cxx index 60cae504a9e..0358842b5fc 100644 --- a/TPC/AliTPCDDLRawData.cxx +++ b/TPC/AliTPCDDLRawData.cxx @@ -47,6 +47,7 @@ AliTPCDDLRawData::AliTPCDDLRawData(const AliTPCDDLRawData &source): AliTPCDDLRawData& AliTPCDDLRawData::operator=(const AliTPCDDLRawData &source){ //Assigment operator + if (this == &source) return (*this); fVerbose=source.fVerbose; return *this; } @@ -76,7 +77,7 @@ void AliTPCDDLRawData::RawData(const char* inputFileName){ DataPad data; //AliAltroBuffer is used in write mode to generate raw data file - char filename[15]; + char filename[101]; Int_t ddlNumber=0; AliAltroBuffer *buffer=NULL; Int_t pSecNumber=-1; //Previous Sector number @@ -112,7 +113,7 @@ void AliTPCDDLRawData::RawData(const char* inputFileName){ ddlNumber=data.Sec*2+data.SubSec; else ddlNumber=72+(data.Sec-36)*4+data.SubSec; - strcpy(filename,AliDAQ::DdlFileName("TPC",ddlNumber)); + strncpy(filename,AliDAQ::DdlFileName("TPC",ddlNumber),100); Int_t patchIndex = data.SubSec; if(data.Sec>=36) patchIndex += 2; //buffer=new AliAltroBuffer(filename,mapping[patchIndex]); @@ -127,20 +128,21 @@ void AliTPCDDLRawData::RawData(const char* inputFileName){ if ( (data.Time==(pTimeBin+1)) && (pPadNumber==data.Pad) && (pRowNumber==data.Row) && - (pSecNumber==data.Sec)){ + (pSecNumber==data.Sec) && + (pSubSector==data.SubSec)){ bunchLength++; }//end if else{ buffer->FillBuffer(pTimeBin); buffer->FillBuffer(bunchLength+2); nwords+=2; - if ((pPadNumber!=data.Pad)||(pRowNumber!=data.Row)||(pSecNumber!=data.Sec)){ + if ((pPadNumber!=data.Pad)||(pRowNumber!=data.Row)||(pSecNumber!=data.Sec)||(pSubSector!=data.SubSec)){ //Trailer is formatted and inserted!! buffer->WriteTrailer(nwords,pPadNumber,pRowNumber,pSecNumber); numPackets++; nwords=0; - if(pSubSector!=data.SubSec){ + if(pSecNumber!=data.Sec || pSubSector!=data.SubSec){ //size magic word sector number sub-sector number 0 for TPC 0 for uncompressed buffer->Flush(); buffer->WriteDataHeader(kFALSE,kFALSE); @@ -151,7 +153,7 @@ void AliTPCDDLRawData::RawData(const char* inputFileName){ ddlNumber=data.Sec*2+data.SubSec; else ddlNumber=72+(data.Sec-36)*4+data.SubSec; - strcpy(filename,AliDAQ::DdlFileName("TPC",ddlNumber)); + strncpy(filename,AliDAQ::DdlFileName("TPC",ddlNumber),100); Int_t patchIndex = data.SubSec; if(data.Sec>=36) patchIndex += 2; // buffer=new AliAltroBuffer(filename,mapping[patchIndex]);