]>
Commit | Line | Data |
---|---|---|
615f0826 | 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 |