1 #ifndef ALITRDRAWSTREAMBASE_H
\r
2 #define ALITRDRAWSTREAMBASE_H
\r
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
\r
5 * See cxx source for full Copyright notice */
\r
7 /* $Id: AliTRDrawStreamBase.h 23387 2008-01-17 17:25:16Z cblume $ */
\r
9 ///////////////////////////////////////////////////////////////////////////////
\r
11 // This base class defines access to TRD digits in raw data. //
\r
13 ///////////////////////////////////////////////////////////////////////////////
\r
15 #include "TObject.h"
\r
19 class AliTRDdigitsManager;
\r
21 #define TRDMAXTBINS 63
\r
22 #define TRDMAXADC 21
\r
23 #define TRDMAXMCM 4 * 16
\r
24 #define MAXTRACKLETSPERHC 256
\r
26 #define TRD_NOIMP() AliFatal("Not Implemented for this class. Use inherited.");
\r
28 class AliTRDrawStreamBase : public TObject
\r
29 { // class def begin
\r
33 AliTRDrawStreamBase();
\r
34 AliTRDrawStreamBase(AliRawReader *rawReader);
\r
35 virtual ~AliTRDrawStreamBase();
\r
37 AliTRDrawStreamBase(const AliTRDrawStreamBase& st);
\r
38 AliTRDrawStreamBase &operator=(const AliTRDrawStreamBase &);
\r
40 //--------------------------------------------------------
\r
49 enum { kDDLOffset = 0x400 }; // Offset for DDL numbers
\r
51 static AliTRDrawStreamBase *GetRawStream();
\r
52 static AliTRDrawStreamBase *GetRawStream(AliRawReader *reader);
\r
54 static void SetRawStreamVersion(Int_t iver) { fgRawStreamVersion = iver; }
\r
55 static void SetRawStreamVersion(const char *opt);
\r
57 // this is a temporary solution!^M
\r
58 // baseline should come with the HC header word 2 (count from 0!)^M
\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
66 virtual Bool_t SetRawVersion(Int_t /*fraw*/) {TRD_NOIMP(); return 0;}
\r
67 virtual void SetNoErrorWarning() {TRD_NOIMP();}
\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
73 virtual Bool_t SetReader(AliRawReader */*reader*/) {TRD_NOIMP(); return 0;}
\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
80 virtual Bool_t IsSMbufferClean() const {TRD_NOIMP(); return 0;}
\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
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
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
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
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
108 virtual Int_t GetMaxRow() const {TRD_NOIMP(); return 0;}
\r
109 virtual Int_t GetMaxCol() const {TRD_NOIMP(); return 0;}
\r
111 virtual Int_t GetDET() const {TRD_NOIMP(); return 0;}
\r
112 virtual Int_t GetDet() const {TRD_NOIMP(); return 0;}
\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
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
123 virtual Int_t GetCommonAdditive() const {TRD_NOIMP(); return 0;}
\r
125 //----------------------------------------------------------
\r
129 static Int_t fgRawStreamVersion; // Raw stream version number
\r
131 ClassDef(AliTRDrawStreamBase, 0) // TRD raw stream base class
\r