+ // ********************************* ADD ADC *********************************
+ else if(fADCModule == kADDADCGeo){
+ // *** ADC header
+ if((fBuffer & 0x07000000) == 0x02000000){
+ fIsADCHeader = kTRUE;
+ fADCNChannels = ((fBuffer & 0x00003f00)>>8);
+ //printf(" AliZDCRawStream -> ADD ADC HEADER: mod.%d has %d ch. \n",fADCModule,fADCNChannels);
+ }
+ // *** ADC data word
+ else if((fBuffer & 0x07000000) == 0x00000000){
+ fIsADDChannel = kTRUE;
+ fADCChannel = ((fBuffer & 0x1e0000) >> 17);
+ fADCGain = ((fBuffer & 0x10000) >> 16);
+ fADCValue = (fBuffer & 0xfff);
+ //
+ //printf(" ADD ADC DATUM -> mod. %d ch. %d gain %d value %d\n",
+ // fADCModule,fADCChannel,fADCGain,fADCValue);
+ }
+ // *** ADC EOB
+ else if((fBuffer & 0x07000000) == 0x04000000){
+ fIsADCEOB = kTRUE;
+ //printf(" AliZDCRawStream -> EOB --------------------------\n");
+ }
+ }
+ // ********************************* TDC *********************************
+ else if(fADCModule==kTDCFakeGeo && fIsTDCHeaderRead==kFALSE){
+ // *** TDC header
+ fIsTDCHeaderRead = kTRUE;
+ fTDCStartCounter = fPosition;
+ // GEO address from TDC header
+ fADCModule = (Int_t) (fBuffer & 0x1f);
+ if(fADCModule==kZDCTDCGeo){ // *** ZDC TDC
+ fIsZDCTDCHeader = kTRUE;
+ //Ch. debug
+ //printf(" AliZDCRawStream -> ZDC TDC: mod.%d\n",fADCModule);
+ }
+ else if(fADCModule==kADDTDCGeo){ // *** ADD TDC
+ fIsADDTDCHeader = kTRUE;
+ //Ch. debug
+ //printf(" AliZDCRawStream -> ADD TDC: mod.%d\n",fADCModule);
+ }
+ }