+ // Now check the version of the header
+ UChar_t version = 2;
+ if (fHeader) version=fHeader->GetVersion();
+
+ if (version==2) {
+ if ((fPosition + fHeader->fSize) != fEnd) {
+ if ((fHeader->fSize != 0xFFFFFFFF) &&
+ (fEquipment->equipmentId != 4352))
+ Warning("ReadHeader",
+ "raw data size found in the header is wrong (%d != %d)! Using the equipment size instead !",
+ fHeader->fSize, fEnd - fPosition);
+ fHeader->fSize = fEnd - fPosition;
+ }
+ fPosition += sizeof(AliRawDataHeader);
+ fHeaderV3 = 0;
+ } else if (version==3) {
+ fHeaderV3 = (AliRawDataHeaderV3*) fPosition;
+ if ((fPosition + fHeaderV3->fSize) != fEnd) {
+ if ((fHeaderV3->fSize != 0xFFFFFFFF) &&
+ (fEquipment->equipmentId != 4352))
+ Warning("ReadHeader",
+ "raw data size found in the header is wrong (%d != %d)! Using the equipment size instead !",
+ fHeaderV3->fSize, fEnd - fPosition);
+ fHeaderV3->fSize = fEnd - fPosition;
+ }
+ fPosition += sizeof(AliRawDataHeaderV3);
+ fHeader = 0;
+ }