fRawADC(0),
fADCModule(0),
fADCValue(-1),
- fADCGain(0)
+ fADCGain(0),
+ fIsADCDataWord(kFALSE)
{
// Create an object to read ZDC raw digits
//_____________________________________________________________________________
AliZDCRawStream::AliZDCRawStream(const AliZDCRawStream& stream) :
- TObject(stream),
- fADCValue(-1)
+ TObject(stream)
{
// Copy constructor
- Fatal("AliZDCRawStream", "copy constructor not implemented");
+ fRawADC = stream.GetADCRaw();
+ for(Int_t j=0; j<2; j++) fSector[j] = stream.GetSector(j);
+ fADCModule = stream.GetADCModule();
+ fADCValue = stream.GetADCValue();
+ fADCGain = stream.GetADCGain();
+ fIsADCDataWord = stream.IsADCDataWord();
+
}
//_____________________________________________________________________________
fADCModule++;
//printf(" \t AliZDCRawStream -> Header ADC %d -> ADC datum contains %d data words \n",fADCModule,((fRawADC & 0x3f00) >> 8));
}
- else if((fRawADC & 0x4000000)){//ADC EOB
+ else if(fRawADC & 0x4000000){//ADC EOB
//printf(" \t AliZDCRawStream -> ADC %d End Of Block - event number %d\n\n",fADCModule, (fRawADC & 0xffffff));
fSector[0] = fSector[1] = 99;
}
- else if((fRawADC & 0x6000000)){//Not valid datum
+ else if(fRawADC & 0x6000000){//Not valid datum
printf(" \t AliZDCRawStream -> Not valid datum in ADC module %d\n",fADCModule);
}
else{//ADC data word
fSector[1] = vADCChannel-8;
}
else if(vADCChannel == 5 || vADCChannel == 13){
- fSector[0] = (vADCChannel-5)/8+1; // PM Ref 1,2
+ fSector[0] = (vADCChannel-5)*3/8+1; // PM Ref 1,2
fSector[1] = 5;
}
}