]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSubEventTrigger.h
Separating writing and reading of raw data (Christian)
[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
692de412 6/*$Id$*/
7
8/// \ingroup rec
9/// \class AliMUONSubEventTrigger
10/// \brief MUON subevent trigger
69be760c 11
12#include <TObject.h>
13
14class AliMUONSubEventTrigger : public TObject{
15
16public:
17 AliMUONSubEventTrigger();
18 virtual ~AliMUONSubEventTrigger(){;}
19
20
c8f4be1a 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];}
69be760c 24
e516b01d 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;}
69be760c 30
a9df22ff 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;}
69be760c 47
48 void SetRegWord(UInt_t w) {fRegWord = w;}
c8f4be1a 49 void SetRegInput(UInt_t in, Int_t n) {fRegInput[n] = in;}
50 void SetLocalData(UInt_t d, Int_t n) {fLocalData[n] = d;}
69be760c 51
17323043 52 Int_t GetRegHeaderLength() const {return fgkRegHeaderLength;}
69be760c 53 UInt_t* GetAddress() {return &fRegWord;}
54
55 private:
56
57 UInt_t fRegWord; // first word
c8f4be1a 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
e516b01d 63
c8f4be1a 64 ClassDef(AliMUONSubEventTrigger,3)
69be760c 65};
66#endif