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