- Int_t index=0;
- if(digit.GetSector(1)!=5){ // ZDC signal channels
- // *** ADC1 (ZN1, ZP1, ZEM1,2) or ADC3 (ZN1, ZP1, ZEM1,2 o.o.t.)
- if(digit.GetSector(0)==1 || digit.GetSector(0)==2 || digit.GetSector(0)==3){
- if(digit.GetSector(0)==1 || digit.GetSector(0)==2){
- index = (digit.GetSector(0)-1) + 4*digit.GetSector(1); // ZN1 or ZP1
- lADCDataChannel = 8*(digit.GetSector(0)-1) + digit.GetSector(1);
- }
- else if(digit.GetSector(0)==3){ // ZEM 1,2
- index = 20 + (digit.GetSector(1)-1);
- lADCDataChannel = 5 + 8*(digit.GetSector(1)-1);
- }
- //
- /*printf("\t AliZDC::Digits2Raw -> idig%d det %d quad %d index %d, ADCch %d ADCVal[%d, %d]\n",
- iDigit,digit.GetSector(0),digit.GetSector(1),index,lADCDataChannel,
- digit.GetADCValue(0),digit.GetADCValue(1));// Ch. debug
- */
- //
- if(iDigit<knADCData1){ // *** In-time signals
- lADCDataValue1[index] = digit.GetADCValue(0); // High gain ADC ch.
- if(lADCDataValue1[index] > 2047) lADCDataOvFlw1[index] = 1;
- lADCDataValue1[index+2] = digit.GetADCValue(1); // Low gain ADC ch.
- if(lADCDataValue1[index+2] > 2047) lADCDataOvFlw1[index+2] = 1;
-
- lADCData1[index] = lADCDataGEO << 27 | 0x1 << 24 | lADCDataChannel << 17 |
- lADCDataOvFlw1[index] << 12 | (lADCDataValue1[index] & 0xfff);
- lADCData1[index+2] = lADCDataGEO << 27 | 0x1 << 24 | lADCDataChannel << 17 | 0x1 << 16 |
- lADCDataOvFlw1[index+2] << 12 | (lADCDataValue1[index+2] & 0xfff);
- }
- else{ // *** Out-of-time signals
- lADCDataValue3[index] = digit.GetADCValue(0); // High gain ADC ch.
- if(lADCDataValue3[index] > 2047) lADCDataOvFlw3[index] = 1;
- lADCDataValue3[index+2] = digit.GetADCValue(1); // Low gain ADC ch.
- if(lADCDataValue3[index+2] > 2047) lADCDataOvFlw3[index+2] = 1;
-
- lADCData3[index] = lADCDataGEO << 27 | lADCDataChannel << 17 |
- lADCDataOvFlw3[index] << 12 | (lADCDataValue3[index] & 0xfff);
- lADCData3[index+2] = lADCDataGEO << 27 | lADCDataChannel << 17 | 0x1 << 16 |
- lADCDataOvFlw3[index+2] << 12 | (lADCDataValue3[index+2] & 0xfff);
- }