Corrected UInt_t <-> Int_t conversion
[u/mrichter/AliRoot.git] / TPC / AliTPCMonitorDateFormat.h
1 #ifndef ALITPCMONITORDATEFORMAT_H
2 #define ALITPCMONITORDATEFORMAT_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 ////
12 //// AliTPCMonitorDateFormat class
13 ////
14 //// Class for decoding raw data headers in DATE format
15 //// 
16 //// Authors: Roland Bramm, 
17 ////          Stefan Kniege, IKF, Frankfurt
18 ////       
19 /////////////////////////////////////////////////////////////////////////
20
21 struct eventHeaderStruct;
22 struct equipmentHeaderStruct;
23
24 #define long32 int
25 #include "TNamed.h"
26 using namespace std;
27
28 class AliTPCMonitorDateFormat : public TNamed {
29  public:
30     AliTPCMonitorDateFormat(Char_t* data);
31     AliTPCMonitorDateFormat(const  AliTPCMonitorDateFormat &dateformat);
32     AliTPCMonitorDateFormat& operator= (const AliTPCMonitorDateFormat& dateformat); 
33     ~AliTPCMonitorDateFormat(); 
34
35     //Super Event Header
36     Int_t   GetEventSize() const;
37     Int_t   GetEventHeaderSize() const;
38     Int_t   GetEventHeaderBaseSize() const; 
39     Int_t   GetEventID() const;
40     Int_t   GetEventLDC() const;
41     Int_t   GetEventGDC() const;
42
43     Int_t   GetEventRunID() const;
44     Int_t   GetEventVersion() const;
45     Int_t   GetEventVersionMajor() const;
46     Int_t   GetEventVersionMinor() const;
47     Bool_t  IsEventSuperEvent() const;
48     Bool_t  IsEventStartOfRun() const;
49     Bool_t  IsEventEndOfRun() const;
50     Bool_t  IsEventPhysicsEvent() const;
51     Bool_t  IsEventSwapped() const;
52     Bool_t  IsEventWrongEndian() const;
53  
54     //Sub Event Header
55     void    GotoSubEventHeader();
56     void    GotoNextSubEventHeader();
57     Bool_t  IsLastSubEventHeader() const;
58
59     Int_t   GetSubEventSize() const;
60     Int_t   GetSubEventHeaderSize() const;
61     Int_t   GetSubEventLDC() const;
62     Int_t   GetSubEventGDC() const;
63
64     Bool_t  IsSubEventSuperEvent();
65     Bool_t  IsSubEventStartOfRun() const;
66     Bool_t  IsSubEventEndOfRun() const;
67     Bool_t  IsSubEventPhysicsEvent() const;
68
69     //Eqipments
70     void    GotoFirstEquipment();
71     void    GotoNextEquipment();
72     Bool_t  IsLastEquipment() const;
73
74     Int_t   GetEquipmentSize() const;
75     Int_t   GetEquipmentType() const;
76     Int_t   GetEquipmentID() const; 
77     Int_t*  GetEquipmentTypeAttribute();
78     Int_t   GetEquipmentBasicSize()  const;
79     Int_t   GetEquipmentHeaderSize() const; 
80     Int_t   GetPayloadSize() const;
81
82     //DATA
83     Char_t* GetFirstDataPointer();
84     Int_t   GetPosition() const;
85     Int_t   GetPositionSubEvent() const;
86     
87  private:
88     Char_t*                fdataPtr;       // pointer to data array (start, will not be changed in event) 
89     Char_t*                fsubEventPtr;   // pointer to SubEvent
90     Char_t*                fcurrentPtr;    // pointer to current data position (header or data)
91     eventHeaderStruct*     fevent;         // event and
92     eventHeaderStruct*     fsubEvent;      // subevent structure
93     equipmentHeaderStruct* fequipment;     // equipmemnt structure
94   
95     ClassDef(AliTPCMonitorDateFormat,1);
96 };
97
98 #endif
99