]>
Commit | Line | Data |
---|---|---|
d6d75a3f | 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 |