]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/SMcalib/AliEMCALCCUSBRawStream.h
Updated version of ITS QA Checker and related modifications (Melinda)
[u/mrichter/AliRoot.git] / EMCAL / SMcalib / AliEMCALCCUSBRawStream.h
1 #ifndef ALIEMCALCCUSBRAWSTREAM_H
2 #define ALIEMCALCCUSBRAWSTREAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ///////////////////////////////////////////////////////////////////////////////
7 ///
8 /// This class provides access to CC-USB data in EMCAL test bench raw data.
9 /// Author: guernane@lpsc.in2p3.fr
10 ///
11 ///////////////////////////////////////////////////////////////////////////////
12
13 #include <TObject.h>
14
15 class AliRawReader;
16
17 class AliEMCALCCUSBRawStream: public TObject {
18   public :
19     AliEMCALCCUSBRawStream(AliRawReader* rawReader);
20     virtual ~AliEMCALCCUSBRawStream() {};
21
22     virtual Bool_t   Next();
23
24     UInt_t           GetTDC(Int_t iTDC) const
25     {return fTDC[iTDC];}
26     
27     UInt_t           GetQDC(Int_t iQDC) const
28     {return fQDC[iQDC];}
29     UInt_t           GetScalerCCUSB(Int_t iScaler) const 
30     {return fScalerCCUSB[iScaler];}
31     UInt_t           GetScalerLecroy(Int_t iScaler) const
32     {return fScalerLecroy[iScaler];}
33
34   private :
35     AliEMCALCCUSBRawStream(const AliEMCALCCUSBRawStream& stream);
36     AliEMCALCCUSBRawStream& operator = (const AliEMCALCCUSBRawStream& stream);
37
38     AliRawReader*    fRawReader;     // object for reading the raw data
39     UInt_t           fData;          // data read for file
40     UInt_t           fHeader;        // bit 15=1 indicates a watchdog buffer
41                                      // bit 14=1 indicates a scaler buffer
42                                      // bits 0-9 represent the number of events in the buffer
43     UInt_t           fOptHeader;     // bits 0-11 represent the number of words in the buffer
44     UInt_t           fEventLength;   // event length including terminator words
45     UInt_t           fEOBuffer;      // event terminator
46     
47     static const Int_t fgkNScalerCCUSB  =  2; // number of internal CC-USB scalers
48     static const Int_t fgkNScalerLecroy = 12; // number of Lecroy scalers
49     static const Int_t fgkNTDC    = 40;       // number of TDC
50     static const Int_t fgkNQDC    = 32;       // number of QDC
51     
52     UInt_t         fTDC[fgkNTDC];                   // TDC channels
53     UInt_t         fQDC[fgkNQDC];                   // QDC values         
54     UInt_t         fScalerCCUSB[fgkNScalerCCUSB];   // Internal scaler values         
55     UInt_t         fScalerLecroy[fgkNScalerLecroy]; // Lecroy scaler values         
56
57     ClassDef(AliEMCALCCUSBRawStream, 0)  // class for reading CC-USB raw digits
58 };
59
60 #endif