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