]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RAW/AliVMERawStream.h
Quantum efficiency implemented by setting energy deposition to zero to flag inefficiency.
[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 #include <TObject.h>
7
8 class AliRawReader;
9
10
11 class AliVMERawStream: public TObject {
12   public :
13     AliVMERawStream(AliRawReader* rawReader);
14     AliVMERawStream(const AliVMERawStream& stream);
15     AliVMERawStream& operator = (const AliVMERawStream& stream);
16     virtual ~AliVMERawStream() {};
17
18     virtual Bool_t   Next();
19
20     UShort_t         GetBlock() const {return fBlock;};
21     UShort_t         GetNumber() const {return fNumber;};
22     UShort_t         GetChannel() const {return fChannel;};
23     UShort_t         GetValue() const {return fValue;};
24
25     UInt_t           GetTDCChannel(Int_t iTDC) const
26       {return fTDCChannel[iTDC];};
27     UInt_t           GetTDCValue(Int_t iTDC) const
28       {return fTDCValue[iTDC];};
29
30     UInt_t           GetTime() const {return fTime;};
31     UInt_t           GetTimeMuSec() const {return fTimeMuSec;};
32
33   private :
34     Bool_t           CheckString(const char* str) const;
35     Bool_t           ReadTDC();
36     Bool_t           ReadTime();
37
38     AliRawReader*    fRawReader;    // object for reading the raw data
39
40     UInt_t           fData;         // data read for file
41
42     Int_t            fNChannels;    // number of c-ram channels
43     UShort_t         fBlock;        // C-ram block
44     UShort_t         fNumber;       // C-ram serial number
45     UShort_t         fChannel;      // C-ram channel
46     UShort_t         fValue;        // C-ram ADC value
47
48     static const Int_t fgkNTDC = 3; // number of TDCs
49     UInt_t           fTDCChannel[fgkNTDC];      // TDC channels
50     UInt_t           fTDCValue[fgkNTDC];        // TDC values
51
52     UInt_t           fTime;         // timing information
53     UInt_t           fTimeMuSec;    // micro seconds
54
55     ClassDef(AliVMERawStream, 0) // class for reading VME raw digits
56 };
57
58 #endif