Bug fix: AliHLTComponent::ConfigureFromArgumentString
[u/mrichter/AliRoot.git] / RAW / AliRawEquipmentHeader.h
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 class AliRawEquipmentHeader : public TObject {
21
22 public:
23    AliRawEquipmentHeader();
24    ~AliRawEquipmentHeader() { }
25
26    void         *HeaderBegin() { return (void *) &fSize; }
27    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    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
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    ClassDef(AliRawEquipmentHeader,2) //Alice equipment header
53 };
54
55 #endif