Line data Source code
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 0 : virtual ~AliEMCALCCUSBRawStream() {};
21 :
22 : virtual Bool_t Next();
23 :
24 : UInt_t GetTDC(Int_t iTDC) const
25 0 : {return fTDC[iTDC];}
26 :
27 : UInt_t GetQDC(Int_t iQDC) const
28 0 : {return fQDC[iQDC];}
29 : UInt_t GetScalerCCUSB(Int_t iScaler) const
30 0 : {return fScalerCCUSB[iScaler];}
31 : UInt_t GetScalerLecroy(Int_t iScaler) const
32 0 : {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 42 : ClassDef(AliEMCALCCUSBRawStream, 0) // class for reading CC-USB raw digits
58 : };
59 :
60 : #endif
|