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