X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=RAW%2FAliRawEquipmentHeader.cxx;h=51ac92e4f0686e82c39703b388dda137830196a2;hb=d6e3603846ed2e58053850d34f29454061616747;hp=65e1561c584ae211b6e8286f6e7be6c36277c776;hpb=c53ff744a797c5cbae47efcd91afb9f460eda964;p=u%2Fmrichter%2FAliRoot.git diff --git a/RAW/AliRawEquipmentHeader.cxx b/RAW/AliRawEquipmentHeader.cxx index 65e1561c584..51ac92e4f06 100644 --- a/RAW/AliRawEquipmentHeader.cxx +++ b/RAW/AliRawEquipmentHeader.cxx @@ -1,6 +1,3 @@ -// @(#)alimdc:$Name$:$Id$ -// Author: Fons Rademakers 26/11/99 - /************************************************************************** * Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. * * * @@ -16,14 +13,18 @@ * provided "as is" without express or implied warranty. * **************************************************************************/ +// @(#)alimdc:$Name$:$Id$ +// Author: Fons Rademakers 26/11/99 + ////////////////////////////////////////////////////////////////////////// // // // AliRawEquipmentHeader // // // ////////////////////////////////////////////////////////////////////////// -#include "AliRawEquipmentHeader.h" +#include +#include "AliRawEquipmentHeader.h" ClassImp(AliRawEquipmentHeader) @@ -31,7 +32,7 @@ ClassImp(AliRawEquipmentHeader) AliRawEquipmentHeader::AliRawEquipmentHeader(): fSize(0), fEquipmentType(0), - fEquipmentID(0), + fEquipmentID(0xffffffff), fBasicElementSizeType(0) { // Default constructor @@ -39,6 +40,15 @@ AliRawEquipmentHeader::AliRawEquipmentHeader(): fTypeAttribute[i] = 0; } +//______________________________________________________________________________ +UInt_t AliRawEquipmentHeader::SwapWord(UInt_t x) const +{ + // Swap the endianess of the integer value 'x' + + return (((x & 0x000000ffU) << 24) | ((x & 0x0000ff00U) << 8) | + ((x & 0x00ff0000U) >> 8) | ((x & 0xff000000U) >> 24)); +} + //______________________________________________________________________________ void AliRawEquipmentHeader::Swap() { @@ -46,10 +56,22 @@ void AliRawEquipmentHeader::Swap() // has already been swapped. This method is only called when the // header is read from the DATE event builder (GDC). - fSize = net2host(fSize); - fEquipmentType = net2host(fEquipmentType); - fEquipmentID = net2host(fEquipmentID); - fBasicElementSizeType = net2host(fBasicElementSizeType); + fSize = SwapWord(fSize); + fEquipmentType = SwapWord(fEquipmentType); + fEquipmentID = SwapWord(fEquipmentID); + fBasicElementSizeType = SwapWord(fBasicElementSizeType); for (int i = 0; i < kAttributeWords; i++) - fTypeAttribute[i] = net2host(fTypeAttribute[i]); + fTypeAttribute[i] = SwapWord(fTypeAttribute[i]); +} + +//______________________________________________________________________________ +void AliRawEquipmentHeader::Reset() +{ + // Reset the contents of the equipment + // header data + fSize = fEquipmentType = fBasicElementSizeType = 0; + fEquipmentID = 0xffffffff; + + for(Int_t i = 0; i < kAttributeWords; i++) + fTypeAttribute[i] = 0; }