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
16 #include "TString.h"
\r
20 class AliTRDdigitsManager;
\r
22 #define TRD_MAX_TBINS 30
\r
23 #define TRD_MAX_ADC 21
\r
24 #define TRD_MAX_MCM 4 * 16
\r
25 #define MAX_TRACKLETS_PERHC 256
\r
27 /* // old raw stream */
\r
28 /* #define TRD_OLD_STREAM -1 */
\r
29 /* // read simulated data */
\r
30 /* #define TRD_SIM_STREAM 0 */
\r
31 /* // read real data - including test beam 2007 */
\r
32 /* #define TRD_REAL_STREAM 1 */
\r
34 #define TRD_NOIMP() AliFatal("Not Implemented for this class. Use inherited.");
\r
36 class AliTRDrawStreamBase : public TObject
\r
37 { // class def begin
\r
41 AliTRDrawStreamBase();
\r
42 AliTRDrawStreamBase(AliRawReader *rawReader);
\r
43 virtual ~AliTRDrawStreamBase();
\r
45 AliTRDrawStreamBase(const AliTRDrawStreamBase& st);
\r
46 AliTRDrawStreamBase &operator=(const AliTRDrawStreamBase &);
\r
48 //--------------------------------------------------------
\r
57 static AliTRDrawStreamBase *GetRawStream();
\r
58 static AliTRDrawStreamBase *GetRawStream(AliRawReader *reader);
\r
60 static void SetRawStreamVersion(Int_t iver) { fgRawStreamVersion = iver; }
\r
61 static void SetRawStreamVersion(const char *opt);
\r
63 virtual Bool_t Next() {TRD_NOIMP(); return 0;}
\r
64 //virtual Int_t NextChamber(AliTRDdigitsManager */*man*/) {TRD_NOIMP(); return 0;}
\r
65 virtual Int_t NextChamber(AliTRDdigitsManager */*man*/, UInt_t **/*trackletContainer*/=NULL) {TRD_NOIMP(); return 0;}
\r
66 virtual Bool_t Init() {TRD_NOIMP(); return -1;}
\r
68 virtual Bool_t SetRawVersion(Int_t /*fraw*/) {TRD_NOIMP(); return 0;}
\r
70 virtual Bool_t IsCurrentPadShared() const {TRD_NOIMP(); return 0;}
\r
71 virtual void SetSharedPadReadout(Bool_t /*fv*/) {TRD_NOIMP();}
\r
72 virtual Bool_t IsDataZeroSuppressed() const {TRD_NOIMP(); return 0;}
\r
74 virtual Bool_t SetReader(AliRawReader */*reader*/) {TRD_NOIMP(); return 0;}
\r
76 virtual Bool_t IsTrackletEnableBitSet() const {TRD_NOIMP(); return 0;}
\r
77 virtual Bool_t IsStackActive(Int_t /*is*/) const {TRD_NOIMP(); return 0;}
\r
78 virtual Int_t GetNofActiveStacks() const {TRD_NOIMP(); return 0;}
\r
79 virtual UInt_t *GetSMstreamPosition() const {TRD_NOIMP(); return 0;}
\r
81 virtual Bool_t IsSMbufferClean() const {TRD_NOIMP(); return 0;}
\r
83 virtual Bool_t IsLinkActiveInStack(Int_t /*is*/, Int_t /*il*/) const {TRD_NOIMP(); return 0;}
\r
84 virtual Int_t GetActiveLinksInStack(Int_t /*is*/) const {TRD_NOIMP(); return 0;}
\r
86 virtual Int_t GetSpecialRawVersion() const {TRD_NOIMP(); return 0;}
\r
87 virtual Int_t GetMajorRawVersion() const {TRD_NOIMP(); return 0;}
\r
88 virtual Int_t GetRawVersion() const {TRD_NOIMP(); return 0;}
\r
89 virtual Int_t GetMinorRawVersion() const {TRD_NOIMP(); return 0;}
\r
91 virtual Int_t GetSM() const {TRD_NOIMP(); return 0;}
\r
92 virtual Int_t GetLayer() const {TRD_NOIMP(); return 0;}
\r
93 virtual Int_t GetStack() const {TRD_NOIMP(); return 0;}
\r
94 virtual Int_t GetSide() const {TRD_NOIMP(); return 0;}
\r
95 virtual Int_t GetDCS() const {TRD_NOIMP(); return 0;}
\r
97 virtual Int_t GetROC() const {TRD_NOIMP(); return 0;}
\r
98 virtual Int_t GetNumberOfTimeBins() const {TRD_NOIMP(); return 0;}
\r
99 virtual UInt_t GetBunchCrossCounter() const {TRD_NOIMP(); return 0;}
\r
100 virtual UInt_t GetPreTriggerCounter() const {TRD_NOIMP(); return 0;}
\r
101 virtual UInt_t GetPreTriggerPhase() const {TRD_NOIMP(); return 0;}
\r
103 virtual Int_t GetRow() const {TRD_NOIMP(); return 0;}
\r
104 virtual Int_t GetCol() const {TRD_NOIMP(); return 0;}
\r
105 virtual Int_t GetRowMax() const {TRD_NOIMP(); return 0;}
\r
106 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
131 static Int_t fgRawStreamVersion; // Raw stream version number
\r
133 ClassDef(AliTRDrawStreamBase, 0) // TRD raw stream base class
\r