]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCMonitorDateFormat.cxx
Reverting back to the previous version. The problem was elsewhere
[u/mrichter/AliRoot.git] / TPC / AliTPCMonitorDateFormat.cxx
CommitLineData
48265b32 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16/*
17$Log$
18*/
19
20#include "AliTPCMonitorDateFormat.h"
21#include <iostream>
22ClassImp(AliTPCMonitorDateFormat)
23//____________________________________________________________________________
24AliTPCMonitorDateFormat::AliTPCMonitorDateFormat(Char_t* data){
25 // Constructor
26 fdataPtr = data;
27 fsubEventPtr = data;
28 fcurrentPtr = data;
29 event = (struct eventHeaderStruct*) fdataPtr;
30}
31
32//____________________________________________________________________________
33AliTPCMonitorDateFormat::~AliTPCMonitorDateFormat()
34{
35 // Destructor
36}
37
38//____________________________________________________________________________
39Int_t AliTPCMonitorDateFormat::GetEventSize()
40{
41 // Return event size
42 return (Int_t)event->eventSize;
43}
44
45//____________________________________________________________________________
46Int_t AliTPCMonitorDateFormat::GetEventHeaderSize()
47{
48 // Return event header size
49 return (Int_t)event->eventHeadSize;
50}
51
52//____________________________________________________________________________
53Int_t AliTPCMonitorDateFormat::GetEventHeaderBaseSize()
54{
55 // Return event header base size
56 return (Int_t)EVENT_HEAD_BASE_SIZE;
57}
58
59//____________________________________________________________________________
60Int_t AliTPCMonitorDateFormat::GetEventID()
61{
62 // Return event ID
63 return (Int_t)EVENT_ID_GET_NB_IN_RUN(event->eventId);
64}
65
66//____________________________________________________________________________
67Int_t AliTPCMonitorDateFormat::GetEventLDC()
68{
69 // Return event LDC
70 return (Int_t)event->eventLdcId;
71}
72
73//____________________________________________________________________________
74Int_t AliTPCMonitorDateFormat::GetEventGDC()
75{
76 // return event GDC
77 return (Int_t)event->eventGdcId;
78}
79
80//____________________________________________________________________________
81Int_t AliTPCMonitorDateFormat::GetEventRunID()
82{
83 // Return run ID
84 return (Int_t)event->eventRunNb;
85}
86
87//____________________________________________________________________________
88Int_t AliTPCMonitorDateFormat::GetEventVersion()
89{
90 // Return event version
91 return (Int_t)event->eventVersion;
92}
93
94//____________________________________________________________________________
95Int_t AliTPCMonitorDateFormat::GetEventVersionMajor()
96{
97 // retrun event version (16-32 bit)
98 return (Int_t)(GetEventVersion()>>16);
99}
100
101//____________________________________________________________________________
102Int_t AliTPCMonitorDateFormat::GetEventVersionMinor()
103{
104 // return event version (0-15 bit)
105 return (Int_t)(GetEventVersion()&0x0000ffff);
106}
107
108//____________________________________________________________________________
109Bool_t AliTPCMonitorDateFormat::IsEventSuperEvent()
110{
111 // Check if event ist super event
112 Bool_t retval;
113 if(TEST_SYSTEM_ATTRIBUTE( event->eventTypeAttribute, ATTR_SUPER_EVENT ) == 1)
114 retval = true;
115 else
116 retval = false;
117 return retval;
118}
119
120//____________________________________________________________________________
121Bool_t AliTPCMonitorDateFormat::IsEventStartOfRun()
122{
123 // Check if event ist Start of Run
124 Bool_t retval;
125 if(event->eventType == START_OF_RUN)
126 retval = true;
127 else
128 retval = false;
129 return retval;
130}
131
132//____________________________________________________________________________
133Bool_t AliTPCMonitorDateFormat::IsEventEndOfRun()
134{
135 // Check if event is End of Run
136 Bool_t retval;
137 if(event->eventType == END_OF_RUN)
138 retval = true;
139 else
140 retval = false;
141 return retval;
142}
143
144//____________________________________________________________________________
145Bool_t AliTPCMonitorDateFormat::IsEventPhysicsEvent()
146{
147 // Check if event is Physics event
148 Bool_t retval;
149 if(event->eventType == PHYSICS_EVENT)
150 retval = true;
151 else
152 retval = false;
153 return retval;
154}
155
156//____________________________________________________________________________
157Bool_t AliTPCMonitorDateFormat::IsEventSwapped()
158{
159 // Check if event is swapped
160 Bool_t retval;
161 if(TEST_SYSTEM_ATTRIBUTE( event->eventTypeAttribute, ATTR_EVENT_SWAPPED ) == 1)
162 retval = true;
163 else
164 retval = false;
165 return retval;
166}
167
168//____________________________________________________________________________
169Bool_t AliTPCMonitorDateFormat::IsEventWrongEndian()
170{
171 // Check endian
172 Bool_t retval;
173 if(EVENT_MAGIC_NUMBER == event->eventMagic)
174 retval = false;
175 else
176 retval = true;
177 return retval;
178}
179
180
181//____________________________________________________________________________
182void AliTPCMonitorDateFormat::GotoSubEventHeader()
183{
184 // Set subevent Pointer to sub event
185 if(IsEventSuperEvent() ==true){
186 fsubEventPtr = fdataPtr+GetEventHeaderSize();
187 subEvent = (struct eventHeaderStruct*) (fsubEventPtr);
188 }else{
189 fsubEventPtr = fdataPtr;
190 subEvent = (struct eventHeaderStruct*) (fsubEventPtr);
191 }
192}
193
194//____________________________________________________________________________
195void AliTPCMonitorDateFormat::GotoNextSubEventHeader()
196{
197 // set subevent pointer to next sub event
198 fsubEventPtr += GetSubEventSize();
199 subEvent = (struct eventHeaderStruct*) (fsubEventPtr);
200}
201
202//____________________________________________________________________________
203Bool_t AliTPCMonitorDateFormat::IsLastSubEventHeader()
204{
205 // Check if sub event is last sub event
206 Bool_t retval;
207 Int_t position;
208 if(IsEventSuperEvent() ==true){
209 position = fsubEventPtr - fdataPtr;
210 if( (position+GetSubEventSize()) < GetEventSize() )
211 retval = false;
212 else
213 retval = true;
214 }else{
215 position = fsubEventPtr - fdataPtr;
216 if( (position+GetSubEventSize()) < GetEventSize() )
217 retval = false;
218 else
219 retval = true;
220 }
221 return retval;
222}
223
224//____________________________________________________________________________
225Int_t AliTPCMonitorDateFormat::GetSubEventSize()
226{
227 // Return sub event size
228 return (Int_t)subEvent->eventSize;
229}
230
231//____________________________________________________________________________
232Int_t AliTPCMonitorDateFormat::GetSubEventHeaderSize()
233{
234 // Return sub event header size
235 return (Int_t)subEvent->eventHeadSize;
236}
237
238//____________________________________________________________________________
239Int_t AliTPCMonitorDateFormat::GetSubEventLDC()
240{
241 // Return sub event LDC
242 return (Int_t)subEvent->eventLdcId;
243}
244
245//____________________________________________________________________________
246Int_t AliTPCMonitorDateFormat::GetSubEventGDC()
247{
248 // return sub event GDC
249 return (Int_t)subEvent->eventGdcId;
250}
251
252
253//____________________________________________________________________________
254Bool_t AliTPCMonitorDateFormat::IsSubEventSuperEvent()
255{
256 // Check if sub event is super event
257 Bool_t retval;
258 if(TEST_SYSTEM_ATTRIBUTE( subEvent->eventTypeAttribute, ATTR_SUPER_EVENT ) == 1)
259 retval = true;
260 else
261 retval = false;
262 return retval;
263}
264
265//____________________________________________________________________________
266Bool_t AliTPCMonitorDateFormat::IsSubEventStartOfRun()
267{
268 // Check if sub event is start of run
269 Bool_t retval;
270 if(subEvent->eventType == START_OF_RUN)
271 retval = true;
272 else
273 retval = false;
274 return retval;
275}
276
277//____________________________________________________________________________
278Bool_t AliTPCMonitorDateFormat::IsSubEventEndOfRun()
279{
280 // Check if sub event is end of run
281 Bool_t retval;
282 if(subEvent->eventType == END_OF_RUN)
283 retval = true;
284 else
285 retval = false;
286 return retval;
287}
288
289//____________________________________________________________________________
290Bool_t AliTPCMonitorDateFormat::IsSubEventPhysicsEvent()
291{
292 // Check if sub event is physics event
293 Bool_t retval;
294 if(subEvent->eventType == PHYSICS_EVENT)
295 retval = true;
296 else
297 retval = false;
298 return retval;
299}
300
301//____________________________________________________________________________
302void AliTPCMonitorDateFormat::GotoFirstEquipment()
303{
304 // Set current pointer to first equipment
305 fcurrentPtr = fsubEventPtr + GetSubEventHeaderSize();
306 equipment = (struct equipmentHeaderStruct*) (fcurrentPtr);
307}
308
309//____________________________________________________________________________
310void AliTPCMonitorDateFormat::GotoNextEquipment()
311{
312 // Set current pointer to next equipment
313 fcurrentPtr += GetEquipmentSize();
314 equipment = (struct equipmentHeaderStruct*) (fcurrentPtr);
315}
316
317//____________________________________________________________________________
318Bool_t AliTPCMonitorDateFormat::IsLastEquipment()
319{
320 // Check if equipment is last equipment
321 Bool_t retval;
322 Int_t position;
323 position = fcurrentPtr - fsubEventPtr;
324 if( (position+GetEquipmentSize()) < GetSubEventSize() )
325 retval = false;
326 else
327 retval = true;
328 return retval;
329}
330
331//____________________________________________________________________________
332Int_t AliTPCMonitorDateFormat::GetEquipmentSize()
333{
334 // Return equipment size
335 return (Int_t)equipment->equipmentSize;
336}
337
338//____________________________________________________________________________
339Int_t AliTPCMonitorDateFormat::GetPayloadSize()
340{
341 // Return payload slze
342 Int_t retval = 0;
343 if(GetEventVersion() < 196610){
344 retval = (Int_t)equipment->equipmentSize;
345 }else{
346 retval = (Int_t)equipment->equipmentSize - GetEquipmentHeaderSize();
347 }
348 return retval;
349}
350
351//____________________________________________________________________________
352Int_t AliTPCMonitorDateFormat::GetEquipmentType()
353{
354 // Return equipment type
355 return (Int_t)equipment->equipmentType;
356}
357
358//____________________________________________________________________________
359Int_t AliTPCMonitorDateFormat::GetEquipmentID()
360{
361 // Return equipment ID
362 return (Int_t)equipment->equipmentId;
363}
364
365//____________________________________________________________________________
366Int_t* AliTPCMonitorDateFormat::GetEquipmentTypeAttribute()
367{
368 // Return equipment type attribute
369 return (Int_t*)equipment->equipmentTypeAttribute;
370}
371
372//____________________________________________________________________________
373Int_t AliTPCMonitorDateFormat::GetEquipmentBasicSize()
374{
375 // Return equipment basic size
376 return (Int_t)equipment->equipmentBasicElementSize;
377}
378
379//____________________________________________________________________________
380Int_t AliTPCMonitorDateFormat::GetEquipmentHeaderSize()
381{
382 // Return equipment header size
383 return sizeof(struct equipmentHeaderStruct);
384}
385
386
387//____________________________________________________________________________
388Char_t *AliTPCMonitorDateFormat::GetFirstDataPointer()
389{
390 // Return data pointer (after equipment header)
391 Char_t *datapointer;
392 if(GetEventVersion() < 196610){
393 fcurrentPtr += GetEquipmentHeaderSize();
394 datapointer = fcurrentPtr;
395 }else{
396 datapointer = fcurrentPtr + GetEquipmentHeaderSize();
397 }
398 return datapointer;
399
400}
401
402//____________________________________________________________________________
403Int_t AliTPCMonitorDateFormat::GetPosition()
404{
405 // Return current position relative to start of event
406 Int_t retval = (Int_t) (fcurrentPtr - fdataPtr);
407 return retval;
408}
409
410//____________________________________________________________________________
411Int_t AliTPCMonitorDateFormat::GetPositionSubEvent()
412{
413 // Return subevent position relative to start of event
414 Int_t retval = (Int_t) (fsubEventPtr - fdataPtr);
415 return retval;
416}
417