consolidate zero-length arrays (aka struct hack)
[u/mrichter/AliRoot.git] / RAW / AliRawEquipmentHeader.h
CommitLineData
a197a4ce 1#ifndef ALIRAWEQUIPMENTHEADER_H
2#define ALIRAWEQUIPMENTHEADER_H
d04aea32 3// @(#) $Id$
a197a4ce 4// Author: Fons Rademakers 26/11/99
5
6/* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
8
9//////////////////////////////////////////////////////////////////////////
10// //
11// AliRawEquipmentHeader //
12// //
13//////////////////////////////////////////////////////////////////////////
14
15#ifndef ROOT_TObject
16#include <TObject.h>
17#endif
18
19
20class AliRawEquipmentHeader : public TObject {
21
22public:
c53ff744 23 AliRawEquipmentHeader();
a197a4ce 24 ~AliRawEquipmentHeader() { }
25
26 void *HeaderBegin() { return (void *) &fSize; }
27 Int_t HeaderSize() const { return (Long_t) &fBasicElementSizeType - (Long_t) &fSize + sizeof(fBasicElementSizeType); }
e653e3e1 28 UInt_t SwapWord(UInt_t x) const;
a197a4ce 29 void Swap();
30
31 UInt_t GetEquipmentSize() const { return fSize; }
32 UInt_t GetEquipmentType() const { return fEquipmentType; }
33 UInt_t GetId() const { return fEquipmentID; }
34 const UInt_t *GetTypeAttribute() const { return fTypeAttribute; }
35 UInt_t GetBasicSizeType() const { return fBasicElementSizeType; }
36
6bc85955 37 void Reset();
38
12e921cc 39 void Print( const Option_t* opt ="" ) const;
40
a197a4ce 41 enum {
42 kAttributeWords = 3
43 };
44
45private:
46 UInt_t fSize; // number of raw data bytes
47 UInt_t fEquipmentType; // equipment type
48 UInt_t fEquipmentID; // equipment ID
49 UInt_t fTypeAttribute[kAttributeWords]; // system (0,1) and user (2) attributes
50 UInt_t fBasicElementSizeType; // basic element size type
51
33314186 52 ClassDef(AliRawEquipmentHeader,2) //Alice equipment header
a197a4ce 53};
54
55#endif