]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONDDLTrigger.h
21ce34833324ea681266085b4f97e5dbca5a5e54
[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
7 #include <TObject.h>
8 #include "AliRawDataHeader.h"
9
10 class AliMUONDDLTrigger : public TObject {
11  
12 public:
13    AliMUONDDLTrigger();
14    virtual ~AliMUONDDLTrigger();
15
16
17    UInt_t  GetDDLWord()            const {return fddlWord;}
18    Int_t   GetGlobalInput(Int_t n) const {return fGlobalInput[n];}
19    Int_t   GetGlobalOuput()        const {return fGlobalOutput;}
20    Int_t   GetEoD()                const {return fEndOfDDL;}  
21
22    //DarcId:2,Version:8,SerialNb:4,EventType:4,MBZ:14;
23    Char_t   GetDarcId()    {return (Char_t)(fddlWord >> 30) &  0x10;}
24    Char_t   GetVersion()   {return (Char_t)(fddlWord >> 22) &  0xFF;}
25    Char_t   GetSerialNb()  {return (Char_t)(fddlWord >> 18) &  0xF;}
26    Char_t   GetEventType() {return (Char_t)(fddlWord >> 14) &  0xF;}
27
28    void    SetDDLWord(UInt_t w) {fddlWord = w;}
29    void    SetGlobalInput(Int_t in, Int_t n) {fGlobalInput[n] = in;}
30    void    SetGlobalOutput(Int_t out) {fGlobalOutput = out;}
31    void    SetEoD(Int_t e) {fEndOfDDL = e;}  
32
33    UInt_t* GetEnhancedHeader() {return &fddlWord;}
34
35    AliRawDataHeader GetHeader(){return fHeader;}
36    Int_t GetHeaderSize() {return sizeof(AliRawDataHeader)/4;} // in words
37
38  private:
39
40    UInt_t    fddlWord;           // first word
41    Int_t     fGlobalInput[4];    // global input
42    Int_t     fGlobalOutput;      // global ouput
43    Int_t     fEndOfDDL;          // end of DDL
44
45    AliRawDataHeader fHeader;   // header of DDL
46
47    ClassDef(AliMUONDDLTrigger,1)  // MUON DDL Trigger
48 };
49 #endif