]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDrawStreamBase.cxx
- fixing bug in cluster analyser
[u/mrichter/AliRoot.git] / TRD / AliTRDrawStreamBase.cxx
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 "AliTRDrawStream.h"
32 #include "AliTRDrawFastStream.h"
33
34 #include "AliTRDrawStreamBase.h"
35
36 //--------------------------------------------------------
37 ClassImp(AliTRDrawStreamBase)
38
39 Int_t AliTRDrawStreamBase::fgRawStreamVersion = AliTRDrawStreamBase::kTRDrealStream;
40
41 //_____________________________________________________________________________
42 AliTRDrawStreamBase::AliTRDrawStreamBase()
43   : TObject()
44 {
45   //
46   // this is just for API
47   //
48   ;
49 }
50
51 //_____________________________________________________________________________
52 AliTRDrawStreamBase::AliTRDrawStreamBase(AliRawReader */*rawReader*/)
53   : TObject()
54 {
55   //
56   // this is just for API
57   //
58   ;
59 }
60
61 //_____________________________________________________________________________
62 AliTRDrawStreamBase::AliTRDrawStreamBase(const AliTRDrawStreamBase& /*st*/)
63   : TObject()
64 {
65   //
66   // copy
67   //
68   TRD_NOIMP();
69   ;
70 }
71
72 //_____________________________________________________________________________
73 AliTRDrawStreamBase::~AliTRDrawStreamBase()
74 {
75   //
76   // destructor
77   //
78   ;
79 }
80
81 //_____________________________________________________________________________
82 AliTRDrawStreamBase &
83 AliTRDrawStreamBase::operator=(const AliTRDrawStreamBase &)
84 {
85   //
86   // we are not using this functionality
87   //
88   TRD_NOIMP();
89   return *this;
90 }
91
92 //_____________________________________________________________________________
93 AliTRDrawStreamBase *AliTRDrawStreamBase::GetRawStream()
94 {
95   //
96   // Returns the selected raw stream implementation
97   //
98
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 //_____________________________________________________________________________
112 AliTRDrawStreamBase *AliTRDrawStreamBase::GetRawStream(AliRawReader *reader)
113 {
114   //
115   // Returns the selected raw stream implementation
116   //
117
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 //_____________________________________________________________________________
132 void 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
149   if (strstr(opt, "fast" ) != 0 || strstr(opt, "FAST") != 0)
150     fgRawStreamVersion = kTRDfastStream;
151       
152 }
153