X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ZDC%2FAliZDC.cxx;h=15ab6b9f312ff75d820d72360dabef8ed2a3ebdd;hb=6e420565ee48e67d1261b8384372c2f13f3e58fa;hp=fc8ed7aff85ac35ea81d7f44e8c933347650e8e1;hpb=f5c012448c1c5881b382c6fcf407e103dcad01d9;p=u%2Fmrichter%2FAliRoot.git diff --git a/ZDC/AliZDC.cxx b/ZDC/AliZDC.cxx index fc8ed7aff85..15ab6b9f312 100644 --- a/ZDC/AliZDC.cxx +++ b/ZDC/AliZDC.cxx @@ -520,36 +520,60 @@ void AliZDC::Digits2Raw() // *** ADC data // Scan of the map to assign the correct ADC module-channel for(Int_t k=0; kknADCData1+knADCData2) break; + } + } } // Ch. debug //printf(" det %d sec %d -> lADCDataGEO %d lADCDataChannel %d\n", // digit.GetSector(0),digit.GetSector(1),lADCDataGEO,lADCDataChannel); if(lADCDataGEO==0){ - if(iDigit 2047) lADCDataOvFlwHG = 1; + lADCDataValue1[indHG] = digit.GetADCValue(0); + lADCData1[indHG] = lADCDataGEO << 27 | lADCDataChannel << 17 | + lADCDataOvFlwHG << 12 | (lADCDataValue1[indHG] & 0xfff); + // Low gain ADC ch. + if(digit.GetADCValue(1) > 2047) lADCDataOvFlwLG = 1; + lADCDataValue1[indLG] = digit.GetADCValue(1); + lADCData1[indLG] = lADCDataGEO << 27 | lADCDataChannel << 17 | 0x1 << 16 | + lADCDataOvFlwLG << 12 | (lADCDataValue1[indLG] & 0xfff); + // Ch. debug + //printf(" lADCDataGEO %d lADCDataValue1[%d] = %d lADCDataValue1[%d] = %d\n", + // lADCDataGEO,iDigit,lADCDataValue1[indLG],indLG,lADCDataValue1[indLG]); + } + else if(lADCDataGEO==1){ + Int_t indHG = iDigit-knADCData1; + Int_t indLG = indHG+knADCData2; // High gain ADC ch. if(digit.GetADCValue(0) > 2047) lADCDataOvFlwHG = 1; - lADCDataValue1[indHG] = digit.GetADCValue(0); - lADCData1[indHG] = lADCDataGEO << 27 | lADCDataChannel << 17 | - lADCDataOvFlwHG << 12 | (lADCDataValue1[indHG] & 0xfff); + lADCDataValue2[indHG] = digit.GetADCValue(0); + lADCData2[indHG] = lADCDataGEO << 27 | lADCDataChannel << 17 | + lADCDataOvFlwHG << 12 | (lADCDataValue2[indHG] & 0xfff); // Low gain ADC ch. if(digit.GetADCValue(1) > 2047) lADCDataOvFlwLG = 1; - lADCDataValue1[indLG] = digit.GetADCValue(1); - lADCData1[indLG] = lADCDataGEO << 27 | lADCDataChannel << 17 | 0x1 << 16 | - lADCDataOvFlwLG << 12 | (lADCDataValue1[indLG] & 0xfff); - // Ch. debug - //printf(" lADCDataGEO %d lADCDataValue1[%d] = %d lADCDataValue1[%d] = %d\n", - // lADCDataGEO,iDigit,lADCDataValue1[indLG],indLG,lADCDataValue1[indLG]); - } - else{ // *** Out-of-time signals - 3rd ADC module - lADCDataGEO=2; + lADCDataValue2[indLG] = digit.GetADCValue(1); + lADCData2[indLG] = lADCDataGEO << 27 | lADCDataChannel << 17 | 0x1 << 16 | + lADCDataOvFlwLG << 12 | (lADCDataValue2[indLG] & 0xfff); + //Ch. debug + //printf(" lADCDataGEO %d lADCDataValue2[%d] = %d lADCDataValue2[%d] = %d\n", + // lADCDataGEO,indHG,lADCDataValue2[indHG],indLG,lADCDataValue2[indLG]); + } + else if(lADCDataGEO==2){ Int_t indHG = iDigit-knADCData1-knADCData2; Int_t indLG = indHG+knADCData3; // High gain ADC ch. @@ -565,28 +589,8 @@ void AliZDC::Digits2Raw() //Ch. debug //printf(" lADCDataGEO %d lADCDataValue3[%d] = %d lADCDataValue3[%d] = %d\n", // lADCDataGEO,indHG,lADCDataValue3[indHG],indLG,lADCDataValue3[indLG]); - } } - else if(lADCDataGEO==1){ - if(iDigit 2047) lADCDataOvFlwHG = 1; - lADCDataValue2[indHG] = digit.GetADCValue(0); - lADCData2[indHG] = lADCDataGEO << 27 | lADCDataChannel << 17 | - lADCDataOvFlwHG << 12 | (lADCDataValue2[indHG] & 0xfff); - // Low gain ADC ch. - if(digit.GetADCValue(1) > 2047) lADCDataOvFlwLG = 1; - lADCDataValue2[indLG] = digit.GetADCValue(1); - lADCData2[indLG] = lADCDataGEO << 27 | lADCDataChannel << 17 | 0x1 << 16 | - lADCDataOvFlwLG << 12 | (lADCDataValue2[indLG] & 0xfff); - //Ch. debug - //printf(" lADCDataGEO %d lADCDataValue2[%d] = %d lADCDataValue2[%d] = %d\n", - // lADCDataGEO,indHG,lADCDataValue2[indHG],indLG,lADCDataValue2[indLG]); - } - else{ // *** Out-of-time signals - 4rth ADC - lADCDataGEO=3; + else if(lADCDataGEO==3){ Int_t indHG = iDigit-knADCData1-knADCData2-knADCData3; Int_t indLG = indHG+knADCData4; // High gain ADC ch. @@ -602,7 +606,6 @@ void AliZDC::Digits2Raw() // Ch. debug //printf(" lADCDataGEO %d lADCDataValue4[%d] = %d lADCDataValue4[%d] = %d\n", // lADCDataGEO,indHG,lADCDataValue4[indHG],indLG,lADCDataValue4[indLG]); - } } } @@ -636,29 +639,29 @@ void AliZDC::Digits2Raw() sizeof(lADCHeader3) + sizeof(lADCData3) + sizeof(lADCEndBlock) + sizeof(lADCHeader4) + sizeof(lADCData4) + sizeof(lADCEndBlock); // - printf("sizeof header = %d, ADCHeader1 = %d, ADCData1 = %d, ADCEndBlock = %d\n", + /*printf("sizeof header = %d, ADCHeader1 = %d, ADCData1 = %d, ADCEndBlock = %d\n", sizeof(header),sizeof(lADCHeader1),sizeof(lADCData1),sizeof(lADCEndBlock)); printf("sizeof header = %d, ADCHeader2 = %d, ADCData2 = %d, ADCEndBlock = %d\n", sizeof(header),sizeof(lADCHeader2),sizeof(lADCData2),sizeof(lADCEndBlock)); printf("sizeof header = %d, ADCHeader3 = %d, ADCData3 = %d, ADCEndBlock = %d\n", sizeof(header),sizeof(lADCHeader1),sizeof(lADCData1),sizeof(lADCEndBlock)); printf("sizeof header = %d, ADCHeader4 = %d, ADCData4 = %d, ADCEndBlock = %d\n", - sizeof(header),sizeof(lADCHeader2),sizeof(lADCData2),sizeof(lADCEndBlock)); + sizeof(header),sizeof(lADCHeader2),sizeof(lADCData2),sizeof(lADCEndBlock));*/ header.SetAttribute(0); // valid data file->WriteBuffer((char*)(&header), sizeof(header)); // write the raw data and close the file file->WriteBuffer((char*) &lADCHeader1, sizeof (lADCHeader1)); -// file->WriteBuffer((char*) &lADCData1, sizeof(lADCData1)); + file->WriteBuffer((char*) &lADCData1, sizeof(lADCData1)); file->WriteBuffer((char*) &lADCEndBlock, sizeof(lADCEndBlock)); file->WriteBuffer((char*) &lADCHeader2, sizeof (lADCHeader2)); -// file->WriteBuffer((char*) (lADCData2), sizeof(lADCData2)); + file->WriteBuffer((char*) (lADCData2), sizeof(lADCData2)); file->WriteBuffer((char*) &lADCEndBlock, sizeof(lADCEndBlock)); file->WriteBuffer((char*) &lADCHeader3, sizeof (lADCHeader3)); -// file->WriteBuffer((char*) (lADCData3), sizeof(lADCData3)); + file->WriteBuffer((char*) (lADCData3), sizeof(lADCData3)); file->WriteBuffer((char*) &lADCEndBlock, sizeof(lADCEndBlock)); file->WriteBuffer((char*) &lADCHeader4, sizeof (lADCHeader4)); -// file->WriteBuffer((char*) (lADCData4), sizeof(lADCData4)); + file->WriteBuffer((char*) (lADCData4), sizeof(lADCData4)); file->WriteBuffer((char*) &lADCEndBlock, sizeof(lADCEndBlock)); delete file;