]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDrawStreamBase.h
- put baseline subtraction into the clusterizer and remove all other
[u/mrichter/AliRoot.git] / TRD / AliTRDrawStreamBase.h
1 #ifndef ALITRDRAWSTREAMBASE_H
2 #define ALITRDRAWSTREAMBASE_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: AliTRDrawStreamBase.h 23387 2008-01-17 17:25:16Z cblume $ */
8
9 ///////////////////////////////////////////////////////////////////////////////
10 //                                                                           //
11 // This base class defines access to TRD digits in raw data.                 //
12 //                                                                           //
13 ///////////////////////////////////////////////////////////////////////////////
14
15 #include "TObject.h"
16 #include "AliLog.h"
17
18 class AliRawReader;
19 class AliTRDdigitsManager;
20
21 #define TRDMAXTBINS 63
22 #define TRDMAXADC   21
23 #define TRDMAXMCM   4 * 16
24 #define MAXTRACKLETSPERHC 256
25
26 #define TRD_NOIMP() AliFatal("Not Implemented for this class. Use inherited.");
27
28 class AliTRDrawStreamBase : public TObject
29 { // class def begin
30
31  public:
32
33   AliTRDrawStreamBase();
34   AliTRDrawStreamBase(AliRawReader *rawReader);
35   virtual ~AliTRDrawStreamBase();
36
37   AliTRDrawStreamBase(const AliTRDrawStreamBase& st);
38   AliTRDrawStreamBase &operator=(const AliTRDrawStreamBase &);
39
40   //--------------------------------------------------------
41
42   enum STREAMTYPE
43     {
44       kTRDsimStream  =  0,
45       kTRDrealStream =  1,
46       kTRDfastStream =  2
47     };
48
49   enum { kDDLOffset = 0x400 };                                // Offset for DDL numbers
50
51   static   AliTRDrawStreamBase *GetRawStream();
52   static   AliTRDrawStreamBase *GetRawStream(AliRawReader *reader);
53
54   static  void      SetRawStreamVersion(Int_t iver) { fgRawStreamVersion = iver; }
55   static  void      SetRawStreamVersion(const char *opt);
56
57   // this is a temporary solution!^M
58   // baseline should come with the HC header word 2 (count from 0!)^M
59
60   virtual Bool_t    Next() {TRD_NOIMP(); return 0;}          
61   //virtual Int_t     NextChamber(AliTRDdigitsManager */*man*/) {TRD_NOIMP(); return 0;} 
62   //virtual Int_t     NextChamber(AliTRDdigitsManager */*man*/, UInt_t **/*trackletContainer*/=NULL) {TRD_NOIMP(); return 0;}
63   virtual Int_t     NextChamber(AliTRDdigitsManager */*man*/, UInt_t **/*trackletContainer*/=NULL, UShort_t **/*errorCodeContainer*/=NULL) {TRD_NOIMP(); return 0;}
64   virtual Bool_t    Init() {TRD_NOIMP(); return -1;}     
65
66   virtual Bool_t    SetRawVersion(Int_t /*fraw*/) {TRD_NOIMP(); return 0;} 
67   
68   virtual Bool_t    IsCurrentPadShared() const {TRD_NOIMP(); return 0;}
69   virtual void      SetSharedPadReadout(Bool_t /*fv*/) {TRD_NOIMP();} 
70   virtual Bool_t    IsDataZeroSuppressed() const {TRD_NOIMP(); return 0;}
71   
72   virtual Bool_t    SetReader(AliRawReader */*reader*/) {TRD_NOIMP(); return 0;} 
73            
74   virtual Bool_t    IsTrackletEnableBitSet() const {TRD_NOIMP(); return 0;}
75   virtual Bool_t    IsStackActive(Int_t /*is*/) const {TRD_NOIMP(); return 0;}
76   virtual Int_t     GetNofActiveStacks() const {TRD_NOIMP(); return 0;}
77   virtual UInt_t   *GetSMstreamPosition() const {TRD_NOIMP(); return 0;}
78             
79   virtual Bool_t    IsSMbufferClean() const {TRD_NOIMP(); return 0;}
80     
81   virtual Bool_t    IsLinkActiveInStack(Int_t /*is*/, Int_t /*il*/) const {TRD_NOIMP(); return 0;}
82   virtual Int_t     GetActiveLinksInStack(Int_t /*is*/) const {TRD_NOIMP(); return 0;}
83             
84   virtual Int_t     GetSpecialRawVersion() const {TRD_NOIMP(); return 0;}
85   virtual Int_t     GetMajorRawVersion() const {TRD_NOIMP(); return 0;}  
86   virtual Int_t     GetRawVersion() const {TRD_NOIMP(); return 0;}       
87   virtual Int_t     GetMinorRawVersion() const {TRD_NOIMP(); return 0;}  
88
89   virtual Int_t     GetSM() const {TRD_NOIMP(); return 0;}   
90   virtual Int_t     GetLayer() const {TRD_NOIMP(); return 0;}
91   virtual Int_t     GetStack() const {TRD_NOIMP(); return 0;}
92   virtual Int_t     GetSide() const {TRD_NOIMP(); return 0;} 
93   virtual Int_t     GetDCS() const {TRD_NOIMP(); return 0;}  
94
95   virtual Int_t     GetROC() const {TRD_NOIMP(); return 0;}  
96   virtual Int_t     GetNumberOfTimeBins() const {TRD_NOIMP(); return 0;} 
97   virtual UInt_t    GetBunchCrossCounter() const {TRD_NOIMP(); return 0;}
98   virtual UInt_t    GetPreTriggerCounter() const {TRD_NOIMP(); return 0;}
99   virtual UInt_t    GetPreTriggerPhase() const {TRD_NOIMP(); return 0;}          
100
101   virtual Int_t     GetRow() const {TRD_NOIMP(); return 0;}   
102   virtual Int_t     GetCol() const {TRD_NOIMP(); return 0;}   
103   virtual Int_t     GetRowMax() const {TRD_NOIMP(); return 0;}
104   virtual Int_t     GetColMax() const {TRD_NOIMP(); return 0;}
105
106   // compatibility
107   virtual Int_t     GetMaxRow() const {TRD_NOIMP(); return 0;}
108   virtual Int_t     GetMaxCol() const {TRD_NOIMP(); return 0;}
109
110   virtual Int_t     GetDET() const {TRD_NOIMP(); return 0;}
111   virtual Int_t     GetDet() const {TRD_NOIMP(); return 0;}
112             
113   virtual Int_t     GetROB() const {TRD_NOIMP(); return 0;}
114   virtual Int_t     GetMCM() const {TRD_NOIMP(); return 0;}
115   virtual Int_t     GetEventNumber() const {TRD_NOIMP(); return 0;}
116   virtual Int_t     IsMCMcorrupted() const {TRD_NOIMP(); return 0;}
117
118   virtual Int_t    *GetSignals() const {TRD_NOIMP(); return 0;}
119   virtual Int_t     GetADC() const {TRD_NOIMP(); return 0;}
120   virtual Int_t     GetTimeBin() const {TRD_NOIMP(); return 0;}
121
122   virtual Int_t     GetCommonAdditive() const {TRD_NOIMP(); return 0;}
123  
124   //----------------------------------------------------------
125  
126  private:
127
128   static Int_t fgRawStreamVersion;           // Raw stream version number
129
130   ClassDef(AliTRDrawStreamBase, 0)           // TRD raw stream base class
131
132 }; //clas def end
133
134 #endif