- else{ // *** Out-of-time signals - 4rth ADC
- lADCDataGEO=3;
- Int_t indHG = iDigit-knADCData1-knADCData2-knADCData3;
- Int_t indLG = indHG+knADCData4;
- // High gain ADC ch.
- if(digit.GetADCValue(0) > 2047) lADCDataOvFlwHG = 1;
- lADCDataValue4[indHG] = digit.GetADCValue(0);
- lADCData4[indHG] = lADCDataGEO << 27 | lADCDataChannel << 17 |
- lADCDataOvFlwHG << 12 | (lADCDataValue4[indHG] & 0xfff);
- // Low gain ADC ch.
- if(digit.GetADCValue(1) > 2047) lADCDataOvFlwLG = 1;
- lADCDataValue4[indLG] = digit.GetADCValue(1);
- lADCData4[indLG] = lADCDataGEO << 27 | lADCDataChannel << 17 | 0x1 << 16 |
- lADCDataOvFlwLG << 12 | (lADCDataValue4[indLG] & 0xfff);
- // Ch. debug
- //printf(" lADCDataGEO %d lADCDataValue4[%d] = %d lADCDataValue4[%d] = %d\n",
- // lADCDataGEO,indHG,lADCDataValue4[indHG],indLG,lADCDataValue4[indLG]);
- }
+ Int_t indLG = indADC1+knADCData2;
+ // High gain ADC ch.
+ if(digit.GetADCValue(0) > 2047) lADCDataOvFlwHG = 1;
+ lADCDataValue2[indADC1] = digit.GetADCValue(0);
+ lADCData2[indADC1] = lADCDataGEO << 27 | lADCDataChannel << 17 |
+ lADCDataOvFlwHG << 12 | (lADCDataValue2[indADC1] & 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 ADCdataHG[%d] %d ADCdataLG[%d] %d\n",
+ // lADCDataGEO,indADC1,lADCDataValue2[indADC1],indLG,lADCDataValue2[indLG]);
+
+ indADC1++;
+ }
+ else if(lADCDataGEO==2){
+ if(indADC2>=knADCData3){
+ AliWarning(" Problem with digit index 4 ADC2\n");
+ return;
+ }
+ Int_t indLG = indADC2+knADCData3;
+ // High gain ADC ch.
+ if(digit.GetADCValue(0) > 2047) lADCDataOvFlwHG = 1;
+ lADCDataValue3[indADC1] = digit.GetADCValue(0);
+ lADCData3[indADC1] = lADCDataGEO << 27 | lADCDataChannel << 17 |
+ lADCDataOvFlwHG << 12 | (lADCDataValue3[indADC2] & 0xfff);
+ // Low gain ADC ch.
+ if(digit.GetADCValue(1) > 2047) lADCDataOvFlwLG = 1;
+ lADCDataValue3[indLG] = digit.GetADCValue(1);
+ lADCData3[indLG] = lADCDataGEO << 27 | lADCDataChannel << 17 | 0x1 << 16 |
+ lADCDataOvFlwLG << 12 | (lADCDataValue3[indLG] & 0xfff);
+ // Ch. debug
+ //printf(" lADCDataGEO %d ADCdataHG[%d] %d ADCdataLG[%d] %d\n",
+ // lADCDataGEO,indADC2,lADCDataValue3[indADC2],indLG,lADCDataValue3[indLG]);
+
+ indADC2++;
+ }
+ else if(lADCDataGEO==3){
+ if(indADC3>=knADCData4){
+ AliWarning(" Problem with digit index 4 ADC2\n");
+ return;
+ }
+ Int_t indLG = indADC3+knADCData4;
+ // High gain ADC ch.
+ if(digit.GetADCValue(0) > 2047) lADCDataOvFlwHG = 1;
+ lADCDataValue4[indADC3] = digit.GetADCValue(0);
+ lADCData4[indADC3] = lADCDataGEO << 27 | lADCDataChannel << 17 |
+ lADCDataOvFlwHG << 12 | (lADCDataValue4[indADC3] & 0xfff);
+ // Low gain ADC ch.
+ if(digit.GetADCValue(1) > 2047) lADCDataOvFlwLG = 1;
+ lADCDataValue4[indLG] = digit.GetADCValue(1);
+ lADCData4[indLG] = lADCDataGEO << 27 | lADCDataChannel << 17 | 0x1 << 16 |
+ lADCDataOvFlwLG << 12 | (lADCDataValue4[indLG] & 0xfff);
+ // Ch. debug
+ //printf(" lADCDataGEO %d ADCdataHG[%d] %d ADCdataLG[%d] %d\n",
+ // lADCDataGEO,indADC3,lADCDataValue4[indADC3],indLG,lADCDataValue4[indLG]);
+
+ indADC3++;