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 */
9 class AliMUONSubEventTrigger : public TObject{
12 AliMUONSubEventTrigger();
13 virtual ~AliMUONSubEventTrigger(){;}
16 UInt_t GetRegWord() const {return fRegWord;}
17 UInt_t GetRegInput(Int_t n) const {return fRegInput[n];}
18 UInt_t GetLocalData(Int_t n) const {return fLocalData[n];}
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;}
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;}
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;}
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;}
43 void SetRegWord(UInt_t w) {fRegWord = w;}
44 void SetRegInput(UInt_t in, Int_t n) {fRegInput[n] = in;}
45 void SetLocalData(UInt_t d, Int_t n) {fLocalData[n] = d;}
47 Int_t GetRegHeaderLength() const {return fgkRegHeaderLength;}
48 UInt_t* GetAddress() {return &fRegWord;}
52 UInt_t fRegWord; // first word
53 UInt_t fRegInput[2]; // regional input
55 static const Int_t fgkRegHeaderLength; // header length in word
57 UInt_t fLocalData[16*5]; // local data
59 ClassDef(AliMUONSubEventTrigger,3)