Coding conventions (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONDDLTrigger.h
1 #ifndef ALIMUONDDLTRIGGER_H
2 #define ALIMUONDDLTRIGGER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /*$Id$*/
7
8 /// \ingroup rec
9 /// \class AliMUONDDLTrigger
10 /// \brief MUON DDL Trigger
11
12 #include <TObject.h>
13 #include "AliRawDataHeader.h"
14
15 class AliMUONDDLTrigger : public TObject {
16  
17 public:
18    AliMUONDDLTrigger();
19    virtual ~AliMUONDDLTrigger();
20
21
22    UInt_t  GetDDLWord()            const {return fddlWord;}
23    Int_t   GetGlobalInput(Int_t n) const {return fGlobalInput[n];}
24    Int_t   GetGlobalOuput()        const {return fGlobalOutput;}
25    Int_t   GetEoD()                const {return fEndOfDDL;}  
26
27    //DarcId:4,SerialNb:4,Version:8,EventType:4,GlobalFlag:4,MBZ:8;
28    Char_t   GetDarcId()     {return (Char_t)(fddlWord >> 28) &  0xF;}
29    Char_t   GetSerialNb()   {return (Char_t)(fddlWord >> 24) &  0xF;}
30    Char_t   GetVersion()    {return (Char_t)(fddlWord >> 16) &  0xFF;}
31    Char_t   GetEventType()  {return (Char_t)(fddlWord >> 12) &  0xF;}
32    Char_t   GetGlobalFlag() {return (Char_t)(fddlWord >>  8) &  0xF;}
33
34    void    SetDDLWord(UInt_t w) {fddlWord = w;}
35    void    SetGlobalInput(Int_t in, Int_t n) {fGlobalInput[n] = in;}
36    void    SetGlobalOutput(Int_t out) {fGlobalOutput = out;}
37    void    SetEoD(Int_t e) {fEndOfDDL = e;}  
38
39    Int_t GetHeaderLength() const {return fgkHeaderLength;}
40
41
42    UInt_t* GetEnhancedHeader() {return &fddlWord;}
43    Int_t*  GetGlobalInput()    {return &fGlobalInput[0];}
44
45
46    AliRawDataHeader GetHeader() const {return fHeader;}
47    Int_t GetHeaderSize() const {return sizeof(AliRawDataHeader)/4;} // in words
48
49  private:
50
51    UInt_t    fddlWord;           // first word
52    Int_t     fGlobalInput[4];    // global input
53    Int_t     fGlobalOutput;      // global ouput
54
55    static const Int_t fgkHeaderLength; // header length
56
57    Int_t     fEndOfDDL;          // end of DDL
58
59    AliRawDataHeader fHeader;   // header of DDL
60
61    ClassDef(AliMUONDDLTrigger,1)  // MUON DDL Trigger
62 };
63 #endif