Tracking in non-uniform nmagnetic field (Yu.Belikov)
[u/mrichter/AliRoot.git] / MUON / AliMUONSubEventTrigger.h
CommitLineData
69be760c 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
9class AliMUONSubEventTrigger : public TObject{
10
11public:
12 AliMUONSubEventTrigger();
13 virtual ~AliMUONSubEventTrigger(){;}
14
15
c8f4be1a 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];}
69be760c 19
e516b01d 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;}
69be760c 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;}
c8f4be1a 44 void SetRegInput(UInt_t in, Int_t n) {fRegInput[n] = in;}
45 void SetLocalData(UInt_t d, Int_t n) {fLocalData[n] = d;}
69be760c 46
17323043 47 Int_t GetRegHeaderLength() const {return fgkRegHeaderLength;}
69be760c 48 UInt_t* GetAddress() {return &fRegWord;}
49
50 private:
51
52 UInt_t fRegWord; // first word
c8f4be1a 53 UInt_t fRegInput[2]; // regional input
54
55 static const Int_t fgkRegHeaderLength; // header length in word
56
57 UInt_t fLocalData[16*5]; // local data
e516b01d 58
c8f4be1a 59 ClassDef(AliMUONSubEventTrigger,3)
69be760c 60};
61#endif