]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCMonitorDateFormat.h
classes for alignment from Tomek
[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();
37     Int_t   GetEventHeaderSize();
38     Int_t   GetEventHeaderBaseSize();
39     Int_t   GetEventID();
40     Int_t   GetEventLDC();
41     Int_t   GetEventGDC();
42
43     Int_t   GetEventRunID();
44     Int_t   GetEventVersion();
45     Int_t   GetEventVersionMajor();
46     Int_t   GetEventVersionMinor();
47     Bool_t  IsEventSuperEvent();
48     Bool_t  IsEventStartOfRun();
49     Bool_t  IsEventEndOfRun();
50     Bool_t  IsEventPhysicsEvent();
51     Bool_t  IsEventSwapped();
52     Bool_t  IsEventWrongEndian();
53  
54     //Sub Event Header
55     void    GotoSubEventHeader();
56     void    GotoNextSubEventHeader();
57     Bool_t  IsLastSubEventHeader();
58
59     Int_t   GetSubEventSize();
60     Int_t   GetSubEventHeaderSize();
61     Int_t   GetSubEventLDC();
62     Int_t   GetSubEventGDC();
63
64     Bool_t  IsSubEventSuperEvent();
65     Bool_t  IsSubEventStartOfRun();
66     Bool_t  IsSubEventEndOfRun();
67     Bool_t  IsSubEventPhysicsEvent();
68
69     //Eqipments
70     void    GotoFirstEquipment();
71     void    GotoNextEquipment();
72     Bool_t  IsLastEquipment();
73
74     Int_t   GetEquipmentSize();
75     Int_t   GetEquipmentType();
76     Int_t   GetEquipmentID();
77     Int_t*  GetEquipmentTypeAttribute();
78     Int_t   GetEquipmentBasicSize();
79     Int_t   GetEquipmentHeaderSize();
80     Int_t   GetPayloadSize();
81
82     //DATA
83     Char_t* GetFirstDataPointer();
84     Int_t   GetPosition();
85     Int_t   GetPositionSubEvent();
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*     event;          // event and
92     eventHeaderStruct*     subEvent;       // subevent structure
93     equipmentHeaderStruct* equipment;      // equipmemnt structure
94   
95     ClassDef(AliTPCMonitorDateFormat,1);
96 };
97
98 #endif
99