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 */
6 ///////////////////////////////////////////////////////////////////////////////
8 /// This class provides access to CC-USB data in EMCAL test bench raw data.
9 /// Author: guernane@lpsc.in2p3.fr
11 ///////////////////////////////////////////////////////////////////////////////
17 class AliEMCALCCUSBRawStream: public TObject {
19 AliEMCALCCUSBRawStream(AliRawReader* rawReader);
20 virtual ~AliEMCALCCUSBRawStream() {};
22 virtual Bool_t Next();
24 UInt_t GetTDC(Int_t iTDC) const
27 UInt_t GetQDC(Int_t iQDC) const
29 UInt_t GetScalerCCUSB(Int_t iScaler) const
30 {return fScalerCCUSB[iScaler];}
31 UInt_t GetScalerLecroy(Int_t iScaler) const
32 {return fScalerLecroy[iScaler];}
35 AliEMCALCCUSBRawStream(const AliEMCALCCUSBRawStream& stream);
36 AliEMCALCCUSBRawStream& operator = (const AliEMCALCCUSBRawStream& stream);
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
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
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
57 ClassDef(AliEMCALCCUSBRawStream, 0) // class for reading CC-USB raw digits