28a810ba6cae1d80a1bd9964467b60ee910bea4c
[u/mrichter/AliRoot.git] / TOF / AliTOFRawDataFormat.h
1 #ifndef ALITOFRAWDATAFORMAT_H
2 #define ALITOFRAWDATAFORMAT_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 ///////////////////////////////////////////////////////////////
10 //                                                           //
11 //   This classes provide the TOF raw data bit fields.       //
12 //                                                           //
13 ///////////////////////////////////////////////////////////////
14
15 //#include "TROOT.h"
16 #include "TObject.h"
17
18 //TRM global header
19 class AliTOFTRMGlobalHeader : public TObject
20 {
21  public:
22   UInt_t GetSlotID() {return fSlotID;};
23   UInt_t GetEventWords() {return fEventWords;};
24   UInt_t GetACQBits() {return fACQBits;};
25   UInt_t GetLBit() {return fLBit;};
26   UInt_t GetMBZ() {return fMBZ;};
27   UInt_t GetWordType() {return fWordType;};
28  private:
29   UInt_t fSlotID:     4;
30   UInt_t fEventWords: 13;
31   UInt_t fACQBits:    2;
32   UInt_t fLBit:       1;
33   UInt_t fMBZ:        8;
34   UInt_t fWordType:   4;
35 };
36
37 //TRM global trailer
38 class AliTOFTRMGlobalTrailer : public TObject
39 {
40  public:
41   UInt_t GetSlotID() {return fSlotID;};
42   UInt_t GetEventCRC() {return fEventCRC;};
43   UInt_t GetEventCounter() {return fEventCounter;};
44   UInt_t GetWordType() {return fWordType;};
45  private:
46   UInt_t fSlotID:       4;
47   UInt_t fEventCRC:     12;
48   UInt_t fEventCounter: 12;
49   UInt_t fWordType:     4;
50 };
51
52 //TRM chain header
53 class AliTOFTRMChainHeader : public TObject
54 {
55  public:
56   UInt_t GetSlotID() {return fSlotID;};
57   UInt_t GetBunchID() {return fBunchID;};
58   UInt_t GetPB24Temp() {return fPB24Temp;};
59   UInt_t GetPB24ID() {return fPB24ID;};
60   UInt_t GetTSBit() {return fTSBit;};
61   UInt_t GetWordType() {return fWordType;};
62  private:
63   UInt_t fSlotID:   4;
64   UInt_t fBunchID:  12;
65   UInt_t fPB24Temp: 8;
66   UInt_t fPB24ID:   3;
67   UInt_t fTSBit:    1;
68   UInt_t fWordType: 4;
69 };
70
71 //TRM chain trailer
72 class AliTOFTRMChainTrailer : public TObject
73 {
74  public:
75   UInt_t GetStatus() {return fStatus;};
76   UInt_t GetMBZ() {return fMBZ;};
77   UInt_t GetEventCounter() {return fEventCounter;};
78   UInt_t GetWordType() {return fWordType;};
79  private:
80   UInt_t fStatus:       4;
81   UInt_t fMBZ:          12;
82   UInt_t fEventCounter: 12;
83   UInt_t fWordType:     4;
84 };
85
86 //TDC packed hit
87 class AliTOFTDCPackedHit : public TObject
88 {
89  public:
90   UInt_t GetHitTime() {return fHitTime;};
91   UInt_t GetTOTWidth() {return fTOTWidth;};
92   UInt_t GetChan() {return fChan;};
93   UInt_t GetTDCID() {return fTDCID;};
94   UInt_t GetEBit() {return fEBit;};
95   UInt_t GetPSBits() {return fPSBits;};
96   UInt_t GetMBO() {return fMBO;};
97  private:
98   UInt_t fHitTime:  13;
99   UInt_t fTOTWidth: 8;
100   UInt_t fChan:     3;
101   UInt_t fTDCID:    4;
102   UInt_t fEBit:     1;
103   UInt_t fPSBits:   2;
104   UInt_t fMBO:      1;
105 };
106
107 //TDC unpacked hit
108 class AliTOFTDCUnpackedHit : public TObject
109 {
110  public:
111   UInt_t GetHitTime() {return fHitTime;};
112   UInt_t GetChan() {return fChan;};
113   UInt_t GetTDCID() {return fTDCID;};
114   UInt_t GetEBit() {return fEBit;};
115   UInt_t GetPSBits() {return fPSBits;};
116   UInt_t GetMBO() {return fMBO;};
117  private:
118   UInt_t fHitTime:  21;
119   UInt_t fChan:     3;
120   UInt_t fTDCID:    4;
121   UInt_t fEBit:     1;
122   UInt_t fPSBits:   2;
123   UInt_t fMBO:      1;
124 };
125
126 //TRM TDC error
127 class AliTOFTRMTDCError : public TObject
128 {
129  public:
130   UInt_t GetErrorFlags() {return fErrorFlags;};
131   UInt_t GetMBZ() {return fMBZ;};
132   UInt_t GetTDCID () {return fTDCID;};
133   UInt_t GetWordType() {return fWordType;};
134  private:
135   UInt_t fErrorFlags: 15;
136   UInt_t fMBZ:        9;
137   UInt_t fTDCID:      4;
138   UInt_t fWordType:   4;
139 };
140
141 //TRM diagnostic error word 1
142 class AliTOFTRMDiagnosticErrorWord1 : public TObject
143 {
144  public:
145   UInt_t GetFaultChipFlagID() {return fFaultChipFlagID;};
146   UInt_t GetCBit() {return fCBit;};
147   UInt_t GetMBZ() {return fMBZ;};
148   UInt_t GetMBO() {return fMBO;};
149   UInt_t GetWordType() {return fWordType;};
150  private:
151   UInt_t fFaultChipFlagID: 15;
152   UInt_t fCBit:            1;
153   UInt_t fMBZ:             8;
154   UInt_t fMBO:             4;
155   UInt_t fWordType:        4;
156 };
157
158 //TRM diagnostic error word 2
159 class AliTOFTRMDiagnosticErrorWord2 : public TObject
160 {
161  public:
162   UInt_t GetJtagErrorCode() {return fJtagErrorCode;};
163   UInt_t GetTDCID() {return fTDCID;};
164   UInt_t GetCBit() {return fCBit;};
165   UInt_t GetMBZ() {return fMBZ;};
166   UInt_t GetMBO() {return fMBO;};
167   UInt_t GetWordType() {return fWordType;};
168  private:
169   UInt_t fJtagErrorCode: 11;
170   UInt_t fTDCID:         4;
171   UInt_t fCBit:          1;
172   UInt_t fMBZ:           8;
173   UInt_t fMBO:           4;
174   UInt_t fWordType:      4;
175 };
176
177 #endif /* ALITOFRAWDATAFORMAT_H */