fIsADCEOB(kFALSE),
fSODReading(kFALSE),
fIsMapRead(kFALSE),
+ fReadCDH(kTRUE),
fDeadfaceOffset(-1),
fDeadbeefOffset(-1),
fDataOffset(0),
fIsADCEOB(stream.fIsADCEOB),
fSODReading(stream.fSODReading),
fIsMapRead(stream.fIsMapRead),
+ fReadCDH(stream.fReadCDH),
fDeadfaceOffset(stream.GetDeadfaceOffset()),
fDeadbeefOffset(stream.GetDeadbeefOffset()),
fDataOffset(stream.GetDataOffset()),
for(Int_t i=0; i<kNch; i++){
fMapADC[i][0] = chMap->GetADCModule(i);
fMapADC[i][1] = chMap->GetADCChannel(i);
- fMapADC[i][2] = -1;
+ fMapADC[i][2] = chMap->GetADCSignalCode(i);
fMapADC[i][3] = chMap->GetDetector(i);
fMapADC[i][4] = chMap->GetSector(i);
}
for(Int_t kl=0; kl<4; kl++) fCPTInput[kl] = 0;
fEvType = fRawReader->GetType();
- if(fPosition==0){
+ if(fPosition==0 && fReadCDH){
//if(fEvType==7 || fEvType ==8){ //Physics or calibration event
ReadCDHHeader();
//}
// Ch. debug
//printf("\n AliZDCRawStream::Next() - ev. type %d",fEvType);
}
+ // Needed to read simulated raw data (temporary solution?)
+ else if(fPosition==0 && !fReadCDH && fReadOutCard==-1) fReadOutCard=1;
// Ch. debug
//printf("\n AliZDCRawStream::Next() - fBuffer[%d] = %x\n",fPosition, fBuffer);
else if(fCabledSignal==kZEM2 || fCabledSignal==kZEM2D) fScalerMap[fCurrScCh][4]=2;
}
// Ch debug.
- printf("\t VME scaler mod. %d ch. %d, signal %d",fScalerMap[fCurrScCh][0],fADCChannel,fCabledSignal);
+ /*printf("\t VME scaler mod. %d ch. %d, signal %d",fScalerMap[fCurrScCh][0],fADCChannel,fCabledSignal);
if(fCabledSignal!=0 && fCabledSignal!=1) printf(" det. %d sec. %d\n",fScalerMap[fCurrScCh][3],fScalerMap[fCurrScCh][4]);
- else printf(" Signal void/not connected\n");
+ else printf(" Signal void/not connected\n");*/
fCurrScCh++;
}
fCurrTDCCh++;
- printf("\tZDC TDC: mod. %d ch. %d, signal %d\n",fADCModule,fADCChannel,fCabledSignal);
+ // Ch debug.
+ //printf("\tZDC TDC: mod. %d ch. %d, signal %d\n",fADCModule,fADCChannel,fCabledSignal);
}
/*else if(fModType == kTRG){ // **** scalers from trigger card
//printf("\t Trigger scaler mod. %d ch. %d, signal %d\n",fADCModule,fADCChannel,fCabledSignal);
// ---------------------------------------------
else if(fPosition>=fDataOffset){
- //printf("AliZDCRawStream: fSODReading = %d\n", fSODReading);
if(!fSODReading && !fIsMapRead) ReadChMap();
// !!!!!!!!!!!!!!! DARC readout card only !!!!!!!!!!!
AliWarning(Form(" No valid entry in ADC mapping for raw data %d ADCmod. %d ch. %d\n",
fPosition,fADCModule,fADCChannel));
}
- //
- //printf("AliZDCRawStream -> ADCmod. %d ch. %d -> det %d sec %d\n",
- // fADCModule,fADCChannel,fSector[0],fSector[1]);
-
+
// Final checks
if(foundMapEntry==kTRUE){
if(fSector[0]<1 || fSector[0]>5){
// *** ADC EOB
else if((fBuffer & 0x07000000) == 0x04000000){
fIsADCEOB = kTRUE;
- //printf(" AliZDCRawStream -> EOB --------------------------\n");
+ printf(" AliZDCRawStream -> EOB --------------------------\n");
}
}//ADC module
// ********************************* ADD ADC *********************************
Bool_t IsL0BitSet() const {return fIsL0BitSet;}
Bool_t IsPileUpEvent() const {return fIsPileUpEvent;}
+ void SetReadOutCard(Int_t icard) {fReadOutCard=icard;}
+ void SetDataOffset(Int_t iOffset) {fDataOffset=iOffset;}
void SetNChannelsOn(Int_t val) {fNChannelsOn = val;}
void SetSector(Int_t i, Int_t val) {fSector[i] = val;}
+ void SetMapRead(Bool_t value) {fIsMapRead=value;}
void SetMapADCMod(Int_t iraw, Int_t imod) {fMapADC[iraw][0]=imod;}
void SetMapADCCh(Int_t iraw, Int_t ich) {fMapADC[iraw][1]=ich;}
void SetMapADCSig(Int_t iraw, Int_t isig) {fMapADC[iraw][2]=isig;}
void SetMapDet(Int_t iraw, Int_t idet) {fMapADC[iraw][3]=idet;}
void SetMapTow(Int_t iraw, Int_t itow) {fMapADC[iraw][4]=itow;}
-
+ void SetReadCDH(Bool_t value) {fReadCDH=value;}
void SetSODReading(Bool_t iset) {fSODReading = iset;}
private :
Bool_t fIsADCEOB; // True when EOB
Bool_t fSODReading; // True when reading SOD (DA)
Bool_t fIsMapRead; // True if map is already read
+ Bool_t fReadCDH; // False for sim raw data (uncorrect CDH!)
Int_t fDeadfaceOffset; // deadface offset
Int_t fDeadbeefOffset; // deadbeef offset
Bool_t fIsADDTDCdatum; // true when streaming ADD TDC data
Int_t fADDTDCdatum; // datum for ADD TDC
- ClassDef(AliZDCRawStream, 19) // class for reading ZDC raw data
+ ClassDef(AliZDCRawStream, 20) // class for reading ZDC raw data
};
#endif