]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONSubEventTrigger.h
Updated trigger raw data format (Ch. Finck)
[u/mrichter/AliRoot.git] / MUON / AliMUONSubEventTrigger.h
1 #ifndef ALIMUONSUBEVENTTRIGGER_H
2 #define ALIMUONSUBEVENTTRIGGER_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
9 class AliMUONSubEventTrigger : public TObject{
10  
11 public:
12    AliMUONSubEventTrigger();
13    virtual ~AliMUONSubEventTrigger(){;}
14
15
16    UInt_t  GetRegWord() const {return fRegWord;}
17    Int_t   GetRegInput(Int_t n)  const {return fRegInput[n];}
18    Int_t   GetLocalData(Int_t n)  const {return fLocalData[n];}
19
20    //MBZ:3,serialNb:5,Version:8,RegId:4,MBZ:4,RegOut:8
21    Char_t   GetSerialNb()  {return (Char_t)(fRegWord >> 24) &  0x1F;}
22    Char_t   GetVersion()   {return (Char_t)(fRegWord >> 16) &  0xFF;}
23    Char_t   GetRegId()     {return (Char_t)(fRegWord >> 12) &  0x0F;}
24    Char_t   GetRegOutput() {return (Char_t)(fRegWord)       &  0xFF;}
25
26    UShort_t GetX2(Int_t n) {return (fLocalData[16*n]     >> 16) &  0xFFFF;}
27    UShort_t GetX1(Int_t n) {return (fLocalData[16*n])           &  0xFFFF;}
28    UShort_t GetX4(Int_t n) {return (fLocalData[16*n + 1] >> 16) &  0xFFFF;}
29    UShort_t GetX3(Int_t n) {return (fLocalData[16*n + 1])       &  0xFFFF;}
30
31    UShort_t GetY2(Int_t n) {return (fLocalData[16*n + 2] >> 16) &  0xFFFF;}
32    UShort_t GetY1(Int_t n) {return (fLocalData[16*n + 2])       &  0xFFFF;}
33    UShort_t GetY4(Int_t n) {return (fLocalData[16*n + 3] >> 16) &  0xFFFF;}
34    UShort_t GetY3(Int_t n) {return (fLocalData[16*n + 3])       &  0xFFFF;}
35
36    Char_t   GetLocalId(Int_t n)  {return fLocalData[16*n + 4] >> 19 &  0xF;}
37    Char_t   GetLocalDec(Int_t n) {return fLocalData[16*n + 4] >> 15 &  0xF;}
38    Char_t   GetTriggerY(Int_t n) {return fLocalData[16*n + 4] >> 14 &  0x1;}
39    Char_t   GetYPos(Int_t n)     {return fLocalData[16*n + 4] >> 10 &  0xF;}
40    Char_t   GetXDev(Int_t n)     {return fLocalData[16*n + 4] >> 5  &  0x1F;}
41    Char_t   GetXPos(Int_t n)     {return fLocalData[16*n + 4]       &  0x1F;}
42
43    void    SetRegWord(UInt_t w) {fRegWord = w;}
44    void    SetRegInput(Int_t in, Int_t n) {fRegInput[n] = in;}
45    void    SetLocalData(Int_t d, Int_t n) {fLocalData[n] = d;}
46    
47    UInt_t* GetAddress() {return &fRegWord;}
48
49  private:
50    
51    UInt_t    fRegWord;          // first word
52    Int_t     fRegInput[2];      // regional input
53    Int_t     fLocalData[16*5];  // local data
54     
55    ClassDef(AliMUONSubEventTrigger,2)  // MUON Pad Hit
56 };
57 #endif