]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDrawStreamBase.h
Creation of vertex constrained track parameters is moved to AliHLTVertexer,
[u/mrichter/AliRoot.git] / TRD / AliTRDrawStreamBase.h
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 "AliLog.h"\r
17 \r
18 class AliRawReader;\r
19 class AliTRDdigitsManager;\r
20 \r
21 #define TRDMAXTBINS 63\r
22 #define TRDMAXADC   21\r
23 #define TRDMAXMCM   4 * 16\r
24 #define MAXTRACKLETSPERHC 256\r
25 \r
26 #define TRD_NOIMP() AliFatal("Not Implemented for this class. Use inherited.");\r
27 \r
28 class AliTRDrawStreamBase : public TObject\r
29 { // class def begin\r
30 \r
31  public:\r
32 \r
33   AliTRDrawStreamBase();\r
34   AliTRDrawStreamBase(AliRawReader *rawReader);\r
35   virtual ~AliTRDrawStreamBase();\r
36 \r
37   AliTRDrawStreamBase(const AliTRDrawStreamBase& st);\r
38   AliTRDrawStreamBase &operator=(const AliTRDrawStreamBase &);\r
39 \r
40   //--------------------------------------------------------\r
41 \r
42   enum STREAMTYPE\r
43     {\r
44       kTRDsimStream  =  0,\r
45       kTRDrealStream =  1,\r
46       kTRDfastStream =  2\r
47     };\r
48 \r
49   enum { kDDLOffset = 0x400 };                                // Offset for DDL numbers\r
50 \r
51   static   AliTRDrawStreamBase *GetRawStream();\r
52   static   AliTRDrawStreamBase *GetRawStream(AliRawReader *reader);\r
53 \r
54   static  void      SetRawStreamVersion(Int_t iver) { fgRawStreamVersion = iver; }\r
55   static  void      SetRawStreamVersion(const char *opt);\r
56 \r
57   // this is a temporary solution!^M\r
58   // baseline should come with the HC header word 2 (count from 0!)^M\r
59 \r
60   virtual Bool_t    Next() {TRD_NOIMP(); return 0;}          \r
61   //virtual Int_t     NextChamber(AliTRDdigitsManager */*man*/) {TRD_NOIMP(); return 0;} \r
62   //virtual Int_t     NextChamber(AliTRDdigitsManager */*man*/, UInt_t **/*trackletContainer*/=NULL) {TRD_NOIMP(); return 0;}\r
63   virtual Int_t     NextChamber(AliTRDdigitsManager */*man*/, UInt_t **/*trackletContainer*/=NULL, UShort_t **/*errorCodeContainer*/=NULL) {TRD_NOIMP(); return 0;}\r
64   virtual Bool_t    Init() {TRD_NOIMP(); return -1;}     \r
65 \r
66   virtual Bool_t    SetRawVersion(Int_t /*fraw*/) {TRD_NOIMP(); return 0;} \r
67   virtual void      SetNoErrorWarning() {TRD_NOIMP();}\r
68   \r
69   virtual Bool_t    IsCurrentPadShared() const {TRD_NOIMP(); return 0;}\r
70   virtual void      SetSharedPadReadout(Bool_t /*fv*/) {TRD_NOIMP();} \r
71   virtual Bool_t    IsDataZeroSuppressed() const {TRD_NOIMP(); return 0;}\r
72   \r
73   virtual Bool_t    SetReader(AliRawReader */*reader*/) {TRD_NOIMP(); return 0;} \r
74            \r
75   virtual Bool_t    IsTrackletEnableBitSet() const {TRD_NOIMP(); return 0;}\r
76   virtual Bool_t    IsStackActive(Int_t /*is*/) const {TRD_NOIMP(); return 0;}\r
77   virtual Int_t     GetNofActiveStacks() const {TRD_NOIMP(); return 0;}\r
78   virtual UInt_t   *GetSMstreamPosition() const {TRD_NOIMP(); return 0;}\r
79             \r
80   virtual Bool_t    IsSMbufferClean() const {TRD_NOIMP(); return 0;}\r
81     \r
82   virtual Bool_t    IsLinkActiveInStack(Int_t /*is*/, Int_t /*il*/) const {TRD_NOIMP(); return 0;}\r
83   virtual Int_t     GetActiveLinksInStack(Int_t /*is*/) const {TRD_NOIMP(); return 0;}\r
84             \r
85   virtual Int_t     GetSpecialRawVersion() const {TRD_NOIMP(); return 0;}\r
86   virtual Int_t     GetMajorRawVersion() const {TRD_NOIMP(); return 0;}  \r
87   virtual Int_t     GetRawVersion() const {TRD_NOIMP(); return 0;}       \r
88   virtual Int_t     GetMinorRawVersion() const {TRD_NOIMP(); return 0;}  \r
89 \r
90   virtual Int_t     GetSM() const {TRD_NOIMP(); return 0;}   \r
91   virtual Int_t     GetLayer() const {TRD_NOIMP(); return 0;}\r
92   virtual Int_t     GetStack() const {TRD_NOIMP(); return 0;}\r
93   virtual Int_t     GetSide() const {TRD_NOIMP(); return 0;} \r
94   virtual Int_t     GetDCS() const {TRD_NOIMP(); return 0;}  \r
95 \r
96   virtual Int_t     GetROC() const {TRD_NOIMP(); return 0;}  \r
97   virtual Int_t     GetNumberOfTimeBins() const {TRD_NOIMP(); return 0;} \r
98   virtual UInt_t    GetBunchCrossCounter() const {TRD_NOIMP(); return 0;}\r
99   virtual UInt_t    GetPreTriggerCounter() const {TRD_NOIMP(); return 0;}\r
100   virtual UInt_t    GetPreTriggerPhase() const {TRD_NOIMP(); return 0;}          \r
101 \r
102   virtual Int_t     GetRow() const {TRD_NOIMP(); return 0;}   \r
103   virtual Int_t     GetCol() const {TRD_NOIMP(); return 0;}   \r
104   virtual Int_t     GetRowMax() const {TRD_NOIMP(); return 0;}\r
105   virtual Int_t     GetColMax() const {TRD_NOIMP(); return 0;}\r
106 \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  private:\r
128 \r
129   static Int_t fgRawStreamVersion;           // Raw stream version number\r
130 \r
131   ClassDef(AliTRDrawStreamBase, 0)           // TRD raw stream base class\r
132 \r
133 }; //clas def end\r
134 \r
135 #endif\r