Line data Source code
1 : #ifndef ALIRAWEQUIPMENTHEADER_H
2 : #define ALIRAWEQUIPMENTHEADER_H
3 : // @(#) $Id$
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 :
20 0 : class AliRawEquipmentHeader : public TObject {
21 :
22 : public:
23 : AliRawEquipmentHeader();
24 9752 : ~AliRawEquipmentHeader() { }
25 :
26 3242 : void *HeaderBegin() { return (void *) &fSize; }
27 16250 : Int_t HeaderSize() const { return (Long_t) &fBasicElementSizeType - (Long_t) &fSize + sizeof(fBasicElementSizeType); }
28 : UInt_t SwapWord(UInt_t x) const;
29 : void Swap();
30 :
31 9766 : UInt_t GetEquipmentSize() const { return fSize; }
32 0 : UInt_t GetEquipmentType() const { return fEquipmentType; }
33 1589206 : UInt_t GetId() const { return fEquipmentID; }
34 0 : const UInt_t *GetTypeAttribute() const { return fTypeAttribute; }
35 0 : UInt_t GetBasicSizeType() const { return fBasicElementSizeType; }
36 :
37 : void Reset();
38 :
39 : void Print( const Option_t* opt ="" ) const;
40 :
41 : enum {
42 : kAttributeWords = 3
43 : };
44 :
45 : private:
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 :
52 140 : ClassDef(AliRawEquipmentHeader,2) //Alice equipment header
53 : };
54 :
55 : #endif
|