]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDrawStreamBase.cxx
Tentative version of the new raw-reader class which will handle the online reconstruc...
[u/mrichter/AliRoot.git] / TRD / AliTRDrawStreamBase.cxx
CommitLineData
dfbb4bb9 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
31#include "AliRawReader.h"
32
33#include "AliTRDRawStream.h"
34#include "AliTRDRawStreamV2.h"
35#include "AliTRDrawStreamTB.h"
36
37#include "AliTRDrawStreamBase.h"
38
39//--------------------------------------------------------
40ClassImp(AliTRDrawStreamBase)
41
42Int_t AliTRDrawStreamBase::fgRawStreamVersion = AliTRDrawStreamBase::kTRDsimStream;
43
44//_____________________________________________________________________________
45AliTRDrawStreamBase::AliTRDrawStreamBase()
46 : TObject()
47{
48 //
49 // this is just for API
50 //
51 ;
52}
53
54//_____________________________________________________________________________
55AliTRDrawStreamBase::AliTRDrawStreamBase(AliRawReader */*rawReader*/)
56 : TObject()
57{
58 //
59 // this is just for API
60 //
61 ;
62}
63
64//_____________________________________________________________________________
65AliTRDrawStreamBase::AliTRDrawStreamBase(const AliTRDrawStreamBase& /*st*/)
66 : TObject()
67{
68 //
69 // copy
70 //
71 TRD_NOIMP();
72 ;
73}
74
75//_____________________________________________________________________________
76AliTRDrawStreamBase::~AliTRDrawStreamBase()
77{
78 //
79 // destructor
80 //
81 ;
82}
83
84//_____________________________________________________________________________
85AliTRDrawStreamBase &
86AliTRDrawStreamBase::operator=(const AliTRDrawStreamBase &)
87{
88 //
89 // we are not using this functionality
90 //
91 TRD_NOIMP();
92 return *this;
93}
94
95//_____________________________________________________________________________
96AliTRDrawStreamBase *AliTRDrawStreamBase::GetRawStream()
97{
98 //
99 // Returns the selected raw stream implementation
100 //
101
102 if (fgRawStreamVersion == kTRDoldStream)
103 return new AliTRDRawStream();
104
105 if (fgRawStreamVersion == kTRDrealStream)
106 return new AliTRDrawStreamTB();
107
108 if (fgRawStreamVersion == kTRDsimStream)
109 {
110 AliTRDRawStreamV2 *rstream = new AliTRDRawStreamV2();
111 rstream->Init();
112 return rstream;
113 }
114
115 return new AliTRDrawStreamBase;
116}
117
118//_____________________________________________________________________________
119AliTRDrawStreamBase *AliTRDrawStreamBase::GetRawStream(AliRawReader *reader)
120{
121 //
122 // Returns the selected raw stream implementation
123 //
124
125 if (fgRawStreamVersion == kTRDoldStream)
126 return new AliTRDRawStream(reader);
127
128 if (fgRawStreamVersion == kTRDrealStream)
129 return new AliTRDrawStreamTB(reader);
130
131 if (fgRawStreamVersion == kTRDsimStream)
132 {
133 AliTRDRawStreamV2 *rstream = new AliTRDRawStreamV2(reader);
134 rstream->Init();
135 return rstream;
136 }
137 return new AliTRDrawStreamBase;
138}
139
140//_____________________________________________________________________________
141void AliTRDrawStreamBase::SetRawStreamVersion(const char *opt)
142{
143 //
144 // Sets the raw stream version
145 //
146
147 fgRawStreamVersion = 0;
148
149 if (strstr(opt, "sim" ) != 0 || strstr(opt, "SIM") != 0)
150 fgRawStreamVersion = kTRDsimStream;
151
152 if (strstr(opt, "tb" ) != 0 || strstr(opt, "TB") != 0)
153 fgRawStreamVersion = kTRDrealStream;
154
155 if (strstr(opt, "real" ) != 0 || strstr(opt, "REAL") != 0)
156 fgRawStreamVersion = kTRDrealStream;
157
158 if (strstr(opt, "old" ) != 0 || strstr(opt, "OLD") != 0)
159 fgRawStreamVersion = kTRDoldStream;
160
161}