]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDrawStreamBase.h
Update to store the accumulated charge of two time windows for PID
[u/mrichter/AliRoot.git] / TRD / AliTRDrawStreamBase.h
CommitLineData
9c7c9ec1 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 TRD_MAX_TBINS 30\r
23#define TRD_MAX_ADC 21\r
24#define TRD_MAX_MCM 4 * 16\r
242f25f2 25#define MAX_TRACKLETS_PERHC 256\r
9c7c9ec1 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 kTRDoldStream = 99\r
55 };\r
56\r
57 static AliTRDrawStreamBase *GetRawStream();\r
58 static AliTRDrawStreamBase *GetRawStream(AliRawReader *reader);\r
59\r
60 static void SetRawStreamVersion(Int_t iver) { fgRawStreamVersion = iver; }\r
61 static void SetRawStreamVersion(const char *opt);\r
62\r
63 virtual Bool_t Next() {TRD_NOIMP(); return 0;} \r
64 //virtual Int_t NextChamber(AliTRDdigitsManager */*man*/) {TRD_NOIMP(); return 0;} \r
65 virtual Int_t NextChamber(AliTRDdigitsManager */*man*/, UInt_t **/*trackletContainer*/=NULL) {TRD_NOIMP(); return 0;}\r
66 virtual Bool_t Init() {TRD_NOIMP(); return -1;} \r
67\r
68 virtual Bool_t SetRawVersion(Int_t /*fraw*/) {TRD_NOIMP(); return 0;} \r
69 \r
70 virtual Bool_t IsCurrentPadShared() const {TRD_NOIMP(); return 0;}\r
71 virtual void SetSharedPadReadout(Bool_t /*fv*/) {TRD_NOIMP();} \r
72 virtual Bool_t IsDataZeroSuppressed() const {TRD_NOIMP(); return 0;}\r
73 \r
74 virtual Bool_t SetReader(AliRawReader */*reader*/) {TRD_NOIMP(); return 0;} \r
75 \r
76 virtual Bool_t IsTrackletEnableBitSet() const {TRD_NOIMP(); return 0;}\r
77 virtual Bool_t IsStackActive(Int_t /*is*/) const {TRD_NOIMP(); return 0;}\r
78 virtual Int_t GetNofActiveStacks() const {TRD_NOIMP(); return 0;}\r
79 virtual UInt_t *GetSMstreamPosition() const {TRD_NOIMP(); return 0;}\r
80 \r
81 virtual Bool_t IsSMbufferClean() const {TRD_NOIMP(); return 0;}\r
82 \r
83 virtual Bool_t IsLinkActiveInStack(Int_t /*is*/, Int_t /*il*/) const {TRD_NOIMP(); return 0;}\r
84 virtual Int_t GetActiveLinksInStack(Int_t /*is*/) const {TRD_NOIMP(); return 0;}\r
85 \r
86 virtual Int_t GetSpecialRawVersion() const {TRD_NOIMP(); return 0;}\r
87 virtual Int_t GetMajorRawVersion() const {TRD_NOIMP(); return 0;} \r
88 virtual Int_t GetRawVersion() const {TRD_NOIMP(); return 0;} \r
89 virtual Int_t GetMinorRawVersion() const {TRD_NOIMP(); return 0;} \r
90\r
91 virtual Int_t GetSM() const {TRD_NOIMP(); return 0;} \r
92 virtual Int_t GetLayer() const {TRD_NOIMP(); return 0;}\r
93 virtual Int_t GetStack() const {TRD_NOIMP(); return 0;}\r
94 virtual Int_t GetSide() const {TRD_NOIMP(); return 0;} \r
95 virtual Int_t GetDCS() const {TRD_NOIMP(); return 0;} \r
96\r
97 virtual Int_t GetROC() const {TRD_NOIMP(); return 0;} \r
98 virtual Int_t GetNumberOfTimeBins() const {TRD_NOIMP(); return 0;} \r
99 virtual UInt_t GetBunchCrossCounter() const {TRD_NOIMP(); return 0;}\r
100 virtual UInt_t GetPreTriggerCounter() const {TRD_NOIMP(); return 0;}\r
101 virtual UInt_t GetPreTriggerPhase() const {TRD_NOIMP(); return 0;} \r
102\r
103 virtual Int_t GetRow() const {TRD_NOIMP(); return 0;} \r
104 virtual Int_t GetCol() const {TRD_NOIMP(); return 0;} \r
105 virtual Int_t GetRowMax() const {TRD_NOIMP(); return 0;}\r
106 virtual Int_t GetColMax() const {TRD_NOIMP(); return 0;}\r
107 // compatibility\r
108 virtual Int_t GetMaxRow() const {TRD_NOIMP(); return 0;}\r
109 virtual Int_t GetMaxCol() const {TRD_NOIMP(); return 0;}\r
110\r
111 virtual Int_t GetDET() const {TRD_NOIMP(); return 0;}\r
112 virtual Int_t GetDet() const {TRD_NOIMP(); return 0;}\r
113 \r
114 virtual Int_t GetROB() const {TRD_NOIMP(); return 0;}\r
115 virtual Int_t GetMCM() const {TRD_NOIMP(); return 0;}\r
116 virtual Int_t GetEventNumber() const {TRD_NOIMP(); return 0;}\r
117 virtual Int_t IsMCMcorrupted() const {TRD_NOIMP(); return 0;}\r
118\r
119 virtual Int_t *GetSignals() const {TRD_NOIMP(); return 0;}\r
120 virtual Int_t GetADC() const {TRD_NOIMP(); return 0;}\r
121 virtual Int_t GetTimeBin() const {TRD_NOIMP(); return 0;}\r
122\r
123 virtual Int_t GetCommonAdditive() const {TRD_NOIMP(); return 0;}\r
124 \r
125 //----------------------------------------------------------\r
126 \r
127 protected:\r
128\r
129 private:\r
130\r
131 static Int_t fgRawStreamVersion; // Raw stream version number\r
132\r
133 ClassDef(AliTRDrawStreamBase, 0) // TRD raw stream base class\r
134\r
135}; //clas def end\r
136\r
137#endif\r