1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 /* $Id: AliTRDrawStreamBase.cxx 23387 2008-01-17 17:25:16Z cblume $ */
18 ///////////////////////////////////////////////////////////////////////////////
20 // This class defines access to TRD digits in raw data. //
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. //
27 // Author: M. Ploskon (ploskon@ikf.uni-frankfurt.de) //
29 ///////////////////////////////////////////////////////////////////////////////
31 #include "AliTRDrawStreamOld.h"
32 #include "AliTRDrawFastStream.h"
33 #include "AliTRDrawStream.h"
35 #include "AliTRDrawStreamBase.h"
37 //--------------------------------------------------------
38 ClassImp(AliTRDrawStreamBase)
40 Int_t AliTRDrawStreamBase::fgRawStreamVersion = AliTRDrawStreamBase::kTRDdefaultStream;
42 //_____________________________________________________________________________
43 AliTRDrawStreamBase::AliTRDrawStreamBase()
47 // this is just for API
52 //_____________________________________________________________________________
53 AliTRDrawStreamBase::AliTRDrawStreamBase(AliRawReader */*rawReader*/)
57 // this is just for API
62 //_____________________________________________________________________________
63 AliTRDrawStreamBase::AliTRDrawStreamBase(const AliTRDrawStreamBase& /*st*/)
73 //_____________________________________________________________________________
74 AliTRDrawStreamBase::~AliTRDrawStreamBase()
82 //_____________________________________________________________________________
84 AliTRDrawStreamBase::operator=(const AliTRDrawStreamBase &)
87 // we are not using this functionality
93 //_____________________________________________________________________________
94 AliTRDrawStreamBase *AliTRDrawStreamBase::GetRawStream()
97 // Returns the selected raw stream implementation
100 if (fgRawStreamVersion == kTRDrealStream)
101 return new AliTRDrawStreamOld();
103 if (fgRawStreamVersion == kTRDsimStream)
104 return new AliTRDrawStreamOld();
106 if (fgRawStreamVersion == kTRDfastStream)
107 return new AliTRDrawFastStream();
109 if (fgRawStreamVersion == kTRDdefaultStream)
110 return new AliTRDrawStream();
112 return new AliTRDrawStreamBase;
115 //_____________________________________________________________________________
116 AliTRDrawStreamBase *AliTRDrawStreamBase::GetRawStream(AliRawReader *reader)
119 // Returns the selected raw stream implementation
122 if (fgRawStreamVersion == kTRDrealStream)
123 return new AliTRDrawStreamOld(reader);
125 if (fgRawStreamVersion == kTRDsimStream)
126 return new AliTRDrawStreamOld(reader);
129 if (fgRawStreamVersion == kTRDfastStream){
130 return new AliTRDrawFastStream(reader);}
132 if (fgRawStreamVersion == kTRDdefaultStream)
133 return new AliTRDrawStream(reader);
135 return new AliTRDrawStreamBase;
138 //_____________________________________________________________________________
139 void AliTRDrawStreamBase::SetRawStreamVersion(const char *opt)
142 // Sets the raw stream version
145 fgRawStreamVersion = 0;
147 if (strstr(opt, "sim" ) != 0 || strstr(opt, "SIM") != 0)
148 fgRawStreamVersion = kTRDsimStream;
150 if (strstr(opt, "tb" ) != 0 || strstr(opt, "TB") != 0)
151 fgRawStreamVersion = kTRDrealStream;
153 if (strstr(opt, "real" ) != 0 || strstr(opt, "REAL") != 0)
154 fgRawStreamVersion = kTRDrealStream;
156 if (strstr(opt, "fast" ) != 0 || strstr(opt, "FAST") != 0)
157 fgRawStreamVersion = kTRDfastStream;
159 if (strstr(opt, "default" ) != 0 || strstr(opt, "DEFAULT") != 0)
160 fgRawStreamVersion = kTRDdefaultStream;