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