Fix for #88591 Request to commit/port fix in AliRawReaderChain (setter instead of...
[u/mrichter/AliRoot.git] / RAW / AliVMERawStream.h
1 #ifndef ALIVMERAWSTREAM_H
2 #define ALIVMERAWSTREAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ///////////////////////////////////////////////////////////////////////////////
9 ///
10 /// This class provides access to VME data in test beam raw data.
11 ///
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include <TObject.h>
15
16 class AliRawReader;
17
18
19 class AliVMERawStream: public TObject {
20   public :
21     AliVMERawStream(AliRawReader* rawReader);
22     virtual ~AliVMERawStream() {};
23
24     virtual Bool_t   Next();
25
26     UShort_t         GetBlock() const {return fBlock;};
27     UShort_t         GetNumber() const {return fNumber;};
28     UShort_t         GetChannel() const {return fChannel;};
29     UShort_t         GetValue() const {return fValue;};
30
31     UInt_t           GetTDCChannel(Int_t iTDC) const
32       {return fTDCChannel[iTDC];};
33     UInt_t           GetTDCValue(Int_t iTDC) const
34       {return fTDCValue[iTDC];};
35
36     UInt_t           GetTime() const {return fTime;};
37     UInt_t           GetTimeMuSec() const {return fTimeMuSec;};
38
39   private :
40     AliVMERawStream(const AliVMERawStream& stream);
41     AliVMERawStream& operator = (const AliVMERawStream& stream);
42
43     Bool_t           CheckString(const char* str) const;
44     Bool_t           ReadTDC();
45     Bool_t           ReadTime();
46
47     AliRawReader*    fRawReader;    // object for reading the raw data
48
49     UInt_t           fData;         // data read for file
50
51     Int_t            fNChannels;    // number of c-ram channels
52     UShort_t         fBlock;        // C-ram block
53     UShort_t         fNumber;       // C-ram serial number
54     UShort_t         fChannel;      // C-ram channel
55     UShort_t         fValue;        // C-ram ADC value
56
57     static const Int_t fgkNTDC = 3; // number of TDCs
58     UInt_t           fTDCChannel[fgkNTDC];      // TDC channels
59     UInt_t           fTDCValue[fgkNTDC];        // TDC values
60
61     UInt_t           fTime;         // timing information
62     UInt_t           fTimeMuSec;    // micro seconds
63
64     ClassDef(AliVMERawStream, 0) // class for reading VME raw digits
65 };
66
67 #endif