+ //printf("\t ADCEndBlock = %d\n",lADCEndBlock);
+
+
+ // open the output file
+ char fileName[30];
+ strcpy(fileName,AliDAQ::DdlFileName("ZDC",0));
+#ifndef __DECCXX
+ ofstream file(fileName, ios::binary);
+#else
+ ofstream file(fileName);
+#endif
+
+ // write the DDL data header
+ AliRawDataHeader header;
+ header.fSize = sizeof(header) +
+ sizeof(lADCHeader1) + sizeof(lADCData1) + sizeof(lADCEndBlock) +
+ sizeof(lADCHeader2) + sizeof(lADCData2) + sizeof(lADCEndBlock) +
+ sizeof(lADCHeader3) + sizeof(lADCData3) + sizeof(lADCEndBlock) +
+ sizeof(lADCHeader4) + sizeof(lADCData4) + sizeof(lADCEndBlock);
+ /*printf("sizeof header = %d, ADCHeader1 = %d, ADCData1 = %d, ADCEndBlock = %d\n",
+ sizeof(header),sizeof(lADCHeader1),sizeof(lADCData1),sizeof(lADCEndBlock));
+ printf("sizeof header = %d, ADCHeader2 = %d, ADCData2 = %d, ADCEndBlock = %d\n",
+ sizeof(header),sizeof(lADCHeader2),sizeof(lADCData2),sizeof(lADCEndBlock));*/
+ header.SetAttribute(0); // valid data
+ file.write((char*)(&header), sizeof(header));
+
+ // write the raw data and close the file
+ file.write((char*) &lADCHeader1, sizeof (lADCHeader1));
+ file.write((char*)(lADCData1), sizeof(lADCData1));
+ file.write((char*) &lADCEndBlock, sizeof(lADCEndBlock));
+ file.write((char*) &lADCHeader2, sizeof (lADCHeader2));
+ file.write((char*)(lADCData2), sizeof(lADCData2));
+ file.write((char*) &lADCEndBlock, sizeof(lADCEndBlock));
+ file.write((char*) &lADCHeader3, sizeof (lADCHeader3));
+ file.write((char*)(lADCData3), sizeof(lADCData3));
+ file.write((char*) &lADCEndBlock, sizeof(lADCEndBlock));
+ file.write((char*) &lADCHeader4, sizeof (lADCHeader4));
+ file.write((char*)(lADCData4), sizeof(lADCData4));
+ file.write((char*) &lADCEndBlock, sizeof(lADCEndBlock));
+ file.close();
+
+ // unload the digits
+ fLoader->UnloadDigits();