X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=T0%2FAliT0RawData.cxx;h=220fa12aa3b3026bac20e0df46bc6fb350218750;hb=5b19b2cc03ed4145c2b1d2efff6cc8bcf84038e0;hp=c378e39beeb86c9854200df6a940372abb856007;hpb=5bf5519999f87c2e11b1e70a9645ade0133126da;p=u%2Fmrichter%2FAliRoot.git diff --git a/T0/AliT0RawData.cxx b/T0/AliT0RawData.cxx index c378e39beeb..220fa12aa3b 100644 --- a/T0/AliT0RawData.cxx +++ b/T0/AliT0RawData.cxx @@ -37,6 +37,8 @@ #include "AliT0LookUpValue.h" #include "AliT0LookUpKey.h" +using std::cout; +using std::endl; ClassImp(AliT0RawData) //_____________________________________________________________________________ @@ -76,13 +78,14 @@ uncertances */ //open the output file - char fileName[15]; - strcpy(fileName,AliDAQ::DdlFileName("T0",0)); //The name of the output file - fFile = new AliFstream(fileName); + // char fileName[15]; + // strcpy(fileName,AliDAQ::DdlFileName("T0",0)); //The name of the output file + TString fileName = Form("%s",AliDAQ::DdlFileName("T0",0)); + fFile = new AliFstream(fileName.Data()); memset(fBuffer,0,512*sizeof(UInt_t)); //get event number - AliRunLoader *runloader = AliRunLoader::GetRunLoader(); + AliRunLoader *runloader = AliRunLoader::Instance(); if (runloader) { fEventNumber = runloader->GetEventNumber(); } @@ -91,8 +94,8 @@ uncertances fParam = AliT0Parameters::Instance(); fParam->Init(); - AliT0LookUpKey* lookkey= new AliT0LookUpKey(); - AliT0LookUpValue* lookvalue= new AliT0LookUpValue(); + AliT0LookUpKey* lookkey;//= new AliT0LookUpKey(); + AliT0LookUpValue* lookvalue;//= new AliT0LookUpValue(); TMap *lookup = fParam->GetMapLookup(); TMapIter iter(lookup); @@ -101,8 +104,8 @@ uncertances lookvalue = ( AliT0LookUpValue*) iter.Next(); lookkey = (AliT0LookUpKey*) lookup->GetValue(lookvalue); fLookUp.Add(lookkey, lookvalue); - lookkey= new AliT0LookUpKey(); - lookvalue= new AliT0LookUpValue(); + //lookkey= new AliT0LookUpKey(); + //lookvalue= new AliT0LookUpValue(); } } @@ -143,6 +146,7 @@ AliT0RawData::~AliT0RawData() delete fADC1; delete fTimeLED; delete fADC0; + delete fFile; } //_____________________________________________________________________________ @@ -184,26 +188,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); } - 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 ); + 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[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,15 +243,15 @@ void AliT0RawData::GetDigits(AliT0digit *fDigits) 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(); - if (det >56 &&inside ==0) { + if (det >56 &&inside == 0) { WriteChainDataTrailer(1); // 1st chain trailer fIndex++; WriteChainDataHeader(2, 1); @@ -247,7 +262,7 @@ void AliT0RawData::GetDigits(AliT0digit *fDigits) iTDC = lookvalue->GetTDC(); channel = lookvalue->GetChannel(); FillTime(channel, iTDC, time); - AliDebug(1,Form(" itrm %i , chain %i , iTDC %i, channel %i",itrm,chain,iTDC,channel)); + AliDebug(1,Form("look %i itrm %i , chain %i , iTDC %i, channel %i time %i", det,itrm,chain,iTDC,channel, time)); } else { @@ -277,27 +292,7 @@ void AliT0RawData::GetDigits(AliT0digit *fDigits) WriteDRMDataHeader(); - delete allData; - } -//------------------------------------------------------------------------------ -void AliT0RawData::PackWord(UInt_t &BaseWord, UInt_t Word, Int_t StartBit, Int_t StopBit) -{ - - // Build mask - Int_t len=StopBit-StartBit+1; - UInt_t mask=0; - for(Int_t jb=0; jb 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<