#include "root2date.h"
-int Root2Date(AliRawEvent *gdcRootEvent, unsigned char *gdcDateEvent, char *ddlDir) {
+int Root2Date(AliRawVEvent *gdcRootEvent, unsigned char *gdcDateEvent, char *ddlDir) {
unsigned char *p=gdcDateEvent;
int ldcCounter, equipmentCounter, chunkSize;
- AliRawEquipment *aliEquipment=NULL;
+ AliRawVEquipment *aliEquipment=NULL;
AliRawEquipmentHeader *aliEquipmentHeader=NULL;
AliRawEventHeaderBase *aliHeader=NULL;
- AliRawEvent *ldcRootEvent=NULL;
+ AliRawVEvent *ldcRootEvent=NULL;
aliHeader=gdcRootEvent->GetHeader();
+
+ char runNbFileName[256];
+ sprintf(runNbFileName,"%s/run%u",ddlDir,aliHeader->Get("RunNb"));
+ ofstream runNbFile(runNbFileName);
+ runNbFile.close();
+
memcpy(p, aliHeader->HeaderBaseBegin(), chunkSize=aliHeader->HeaderBaseSize());
p+=chunkSize;
memcpy(p, aliHeader->HeaderBegin(), chunkSize=aliHeader->HeaderSize()); // Write DATE GDC header
}
memcpy(p, aliEquipment->GetRawData()->GetBuffer(), chunkSize=aliEquipment->GetRawData()->GetSize()); // Write Equipment payload (including CDH)
// Write ddl files if requested by the user
- if (ddlDir) {
+ if (ddlDir && aliEquipmentHeader->GetEquipmentSize()) {
Int_t ddlIndex;
Int_t detId = AliDAQ::DetectorIDFromDdlID(aliEquipmentHeader->GetId(),ddlIndex);
char ddlFileName[256];
sprintf(ddlFileName,"%s/%s",ddlDir,AliDAQ::DdlFileName(detId,ddlIndex));
FILE *ddlFile;
- if(ddlFile=fopen(ddlFileName, "wb")) {
+ if((ddlFile=fopen(ddlFileName, "wb"))) {
fwrite(p, chunkSize, 1, ddlFile);
}
fclose(ddlFile);