temporary bug fix (speed issues)
[u/mrichter/AliRoot.git] / TRD / AliTRDrawStreamBase.h
CommitLineData
860f3a82 1#ifndef ALITRDRAWSTREAMBASE_H\r
2#define ALITRDRAWSTREAMBASE_H\r
3\r
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
5 * See cxx source for full Copyright notice */\r
6\r
7/* $Id: AliTRDrawStreamBase.h 23387 2008-01-17 17:25:16Z cblume $ */\r
8\r
9///////////////////////////////////////////////////////////////////////////////\r
10// //\r
11// This base class defines access to TRD digits in raw data. //\r
12// //\r
13///////////////////////////////////////////////////////////////////////////////\r
14\r
15#include "TObject.h"\r
16//#include "TString.h"\r
17#include "AliLog.h"\r
18\r
19class AliRawReader;\r
20class AliTRDdigitsManager;\r
21\r
22#define TRDMAXTBINS 63\r
23#define TRDMAXADC 21\r
24#define TRDMAXMCM 4 * 16\r
25#define MAXTRACKLETSPERHC 256\r
26\r
27/* // old raw stream */\r
28/* #define TRD_OLD_STREAM -1 */\r
29/* // read simulated data */\r
30/* #define TRD_SIM_STREAM 0 */\r
31/* // read real data - including test beam 2007 */\r
32/* #define TRD_REAL_STREAM 1 */\r
33\r
34#define TRD_NOIMP() AliFatal("Not Implemented for this class. Use inherited.");\r
35\r
36class AliTRDrawStreamBase : public TObject\r
37{ // class def begin\r
38\r
39 public:\r
40\r
41 AliTRDrawStreamBase();\r
42 AliTRDrawStreamBase(AliRawReader *rawReader);\r
43 virtual ~AliTRDrawStreamBase();\r
44\r
45 AliTRDrawStreamBase(const AliTRDrawStreamBase& st);\r
46 AliTRDrawStreamBase &operator=(const AliTRDrawStreamBase &);\r
47\r
48 //--------------------------------------------------------\r
49\r
50 enum STREAMTYPE\r
51 {\r
52 kTRDsimStream = 0,\r
53 kTRDrealStream = 1,\r
54 kTRDfastStream = 2,\r
55 kTRDoldStream = 99\r
56 };\r
57\r
58 static AliTRDrawStreamBase *GetRawStream();\r
59 static AliTRDrawStreamBase *GetRawStream(AliRawReader *reader);\r
60\r
61 static void SetRawStreamVersion(Int_t iver) { fgRawStreamVersion = iver; }\r
62 static void SetRawStreamVersion(const char *opt);\r
63\r
64 virtual Bool_t Next() {TRD_NOIMP(); return 0;} \r
65 //virtual Int_t NextChamber(AliTRDdigitsManager */*man*/) {TRD_NOIMP(); return 0;} \r
66 //virtual Int_t NextChamber(AliTRDdigitsManager */*man*/, UInt_t **/*trackletContainer*/=NULL) {TRD_NOIMP(); return 0;}\r
67 virtual Int_t NextChamber(AliTRDdigitsManager */*man*/, UInt_t **/*trackletContainer*/=NULL, UShort_t **/*errorCodeContainer*/=NULL) {TRD_NOIMP(); return 0;}\r
68 virtual Bool_t Init() {TRD_NOIMP(); return -1;} \r
69\r
70 virtual Bool_t SetRawVersion(Int_t /*fraw*/) {TRD_NOIMP(); return 0;} \r
71 \r
72 virtual Bool_t IsCurrentPadShared() const {TRD_NOIMP(); return 0;}\r
73 virtual void SetSharedPadReadout(Bool_t /*fv*/) {TRD_NOIMP();} \r
74 virtual Bool_t IsDataZeroSuppressed() const {TRD_NOIMP(); return 0;}\r
75 \r
76 virtual Bool_t SetReader(AliRawReader */*reader*/) {TRD_NOIMP(); return 0;} \r
77 \r
78 virtual Bool_t IsTrackletEnableBitSet() const {TRD_NOIMP(); return 0;}\r
79 virtual Bool_t IsStackActive(Int_t /*is*/) const {TRD_NOIMP(); return 0;}\r
80 virtual Int_t GetNofActiveStacks() const {TRD_NOIMP(); return 0;}\r
81 virtual UInt_t *GetSMstreamPosition() const {TRD_NOIMP(); return 0;}\r
82 \r
83 virtual Bool_t IsSMbufferClean() const {TRD_NOIMP(); return 0;}\r
84 \r
85 virtual Bool_t IsLinkActiveInStack(Int_t /*is*/, Int_t /*il*/) const {TRD_NOIMP(); return 0;}\r
86 virtual Int_t GetActiveLinksInStack(Int_t /*is*/) const {TRD_NOIMP(); return 0;}\r
87 \r
88 virtual Int_t GetSpecialRawVersion() const {TRD_NOIMP(); return 0;}\r
89 virtual Int_t GetMajorRawVersion() const {TRD_NOIMP(); return 0;} \r
90 virtual Int_t GetRawVersion() const {TRD_NOIMP(); return 0;} \r
91 virtual Int_t GetMinorRawVersion() const {TRD_NOIMP(); return 0;} \r
92\r
93 virtual Int_t GetSM() const {TRD_NOIMP(); return 0;} \r
94 virtual Int_t GetLayer() const {TRD_NOIMP(); return 0;}\r
95 virtual Int_t GetStack() const {TRD_NOIMP(); return 0;}\r
96 virtual Int_t GetSide() const {TRD_NOIMP(); return 0;} \r
97 virtual Int_t GetDCS() const {TRD_NOIMP(); return 0;} \r
98\r
99 virtual Int_t GetROC() const {TRD_NOIMP(); return 0;} \r
100 virtual Int_t GetNumberOfTimeBins() const {TRD_NOIMP(); return 0;} \r
101 virtual UInt_t GetBunchCrossCounter() const {TRD_NOIMP(); return 0;}\r
102 virtual UInt_t GetPreTriggerCounter() const {TRD_NOIMP(); return 0;}\r
103 virtual UInt_t GetPreTriggerPhase() const {TRD_NOIMP(); return 0;} \r
104\r
105 virtual Int_t GetRow() const {TRD_NOIMP(); return 0;} \r
106 virtual Int_t GetCol() const {TRD_NOIMP(); return 0;} \r
107 virtual Int_t GetRowMax() const {TRD_NOIMP(); return 0;}\r
108 virtual Int_t GetColMax() const {TRD_NOIMP(); return 0;}\r
109 // compatibility\r
110 virtual Int_t GetMaxRow() const {TRD_NOIMP(); return 0;}\r
111 virtual Int_t GetMaxCol() const {TRD_NOIMP(); return 0;}\r
112\r
113 virtual Int_t GetDET() const {TRD_NOIMP(); return 0;}\r
114 virtual Int_t GetDet() const {TRD_NOIMP(); return 0;}\r
115 \r
116 virtual Int_t GetROB() const {TRD_NOIMP(); return 0;}\r
117 virtual Int_t GetMCM() const {TRD_NOIMP(); return 0;}\r
118 virtual Int_t GetEventNumber() const {TRD_NOIMP(); return 0;}\r
119 virtual Int_t IsMCMcorrupted() const {TRD_NOIMP(); return 0;}\r
120\r
121 virtual Int_t *GetSignals() const {TRD_NOIMP(); return 0;}\r
122 virtual Int_t GetADC() const {TRD_NOIMP(); return 0;}\r
123 virtual Int_t GetTimeBin() const {TRD_NOIMP(); return 0;}\r
124\r
125 virtual Int_t GetCommonAdditive() const {TRD_NOIMP(); return 0;}\r
126 \r
127 //----------------------------------------------------------\r
128 \r
129 protected:\r
130\r
131 private:\r
132\r
133 static Int_t fgRawStreamVersion; // Raw stream version number\r
134\r
135 ClassDef(AliTRDrawStreamBase, 0) // TRD raw stream base class\r
136\r
137}; //clas def end\r
138\r
139#endif\r