Bug fix for the case of more than 30 timebins
[u/mrichter/AliRoot.git] / TRD / AliTRDrawStreamBase.cxx
CommitLineData
860f3a82 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16/* $Id: AliTRDrawStreamBase.cxx 23387 2008-01-17 17:25:16Z cblume $ */
17
18///////////////////////////////////////////////////////////////////////////////
19// //
20// This class defines access to TRD digits in raw data. //
21// //
22// It loops over all TRD digits in the raw data given by the AliRawReader. //
23// The Next method goes to the next digit. If there are no digits left //
24// it returns kFALSE. //
25// Several getters provide information about the current digit. //
26// //
27// Author: M. Ploskon (ploskon@ikf.uni-frankfurt.de) //
28// //
29///////////////////////////////////////////////////////////////////////////////
30
860f3a82 31#include "AliTRDrawStream.h"
32#include "AliTRDrawFastStream.h"
33
34#include "AliTRDrawStreamBase.h"
35
36//--------------------------------------------------------
37ClassImp(AliTRDrawStreamBase)
38
39Int_t AliTRDrawStreamBase::fgRawStreamVersion = AliTRDrawStreamBase::kTRDrealStream;
40
41//_____________________________________________________________________________
42AliTRDrawStreamBase::AliTRDrawStreamBase()
43 : TObject()
44{
45 //
46 // this is just for API
47 //
48 ;
49}
50
51//_____________________________________________________________________________
52AliTRDrawStreamBase::AliTRDrawStreamBase(AliRawReader */*rawReader*/)
53 : TObject()
54{
55 //
56 // this is just for API
57 //
58 ;
59}
60
61//_____________________________________________________________________________
62AliTRDrawStreamBase::AliTRDrawStreamBase(const AliTRDrawStreamBase& /*st*/)
63 : TObject()
64{
65 //
66 // copy
67 //
68 TRD_NOIMP();
69 ;
70}
71
72//_____________________________________________________________________________
73AliTRDrawStreamBase::~AliTRDrawStreamBase()
74{
75 //
76 // destructor
77 //
78 ;
79}
80
81//_____________________________________________________________________________
82AliTRDrawStreamBase &
83AliTRDrawStreamBase::operator=(const AliTRDrawStreamBase &)
84{
85 //
86 // we are not using this functionality
87 //
88 TRD_NOIMP();
89 return *this;
90}
91
92//_____________________________________________________________________________
93AliTRDrawStreamBase *AliTRDrawStreamBase::GetRawStream()
94{
95 //
96 // Returns the selected raw stream implementation
97 //
98
860f3a82 99 if (fgRawStreamVersion == kTRDrealStream)
100 return new AliTRDrawStream();
101
102 if (fgRawStreamVersion == kTRDsimStream)
103 return new AliTRDrawStream();
104
105 if (fgRawStreamVersion == kTRDfastStream)
106 return new AliTRDrawFastStream();
107
108 return new AliTRDrawStreamBase;
109}
110
111//_____________________________________________________________________________
112AliTRDrawStreamBase *AliTRDrawStreamBase::GetRawStream(AliRawReader *reader)
113{
114 //
115 // Returns the selected raw stream implementation
116 //
117
860f3a82 118 if (fgRawStreamVersion == kTRDrealStream)
119 return new AliTRDrawStream(reader);
120
121 if (fgRawStreamVersion == kTRDsimStream)
122 return new AliTRDrawStream(reader);
123
124
125 if (fgRawStreamVersion == kTRDfastStream){
126 return new AliTRDrawFastStream(reader);}
127
128 return new AliTRDrawStreamBase;
129}
130
131//_____________________________________________________________________________
132void AliTRDrawStreamBase::SetRawStreamVersion(const char *opt)
133{
134 //
135 // Sets the raw stream version
136 //
137
138 fgRawStreamVersion = 0;
139
140 if (strstr(opt, "sim" ) != 0 || strstr(opt, "SIM") != 0)
141 fgRawStreamVersion = kTRDsimStream;
142
143 if (strstr(opt, "tb" ) != 0 || strstr(opt, "TB") != 0)
144 fgRawStreamVersion = kTRDrealStream;
145
146 if (strstr(opt, "real" ) != 0 || strstr(opt, "REAL") != 0)
147 fgRawStreamVersion = kTRDrealStream;
148
860f3a82 149 if (strstr(opt, "fast" ) != 0 || strstr(opt, "FAST") != 0)
150 fgRawStreamVersion = kTRDfastStream;
151
152}
153