Line data Source code
1 : #ifndef ALIT0RAWDATA_H
2 : #define ALIT0RAWDATA_H
3 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 : * See cxx source for full Copyright notice */
5 :
6 : /* $Id$ */
7 :
8 : ///////////////////////////////////////////////////////////////////////////////
9 : // //
10 : // Converts T0 digits into a raw data stream //
11 : // //
12 : ///////////////////////////////////////////////////////////////////////////////
13 :
14 : #include "TObject.h"
15 :
16 : class AliT0;
17 : class AliT0digit;
18 : class AliFstream;
19 : class TFile;
20 : class TMap;
21 : class AliRawDataHeaderSim;
22 : class AliT0RawData : public TObject {
23 :
24 : public:
25 :
26 : AliT0RawData(); // default constructor
27 : AliT0RawData(const AliT0RawData &r); // copy constructor
28 : virtual ~AliT0RawData(); // destructor
29 : AliT0RawData &operator=(const AliT0RawData &r); // ass. op.
30 :
31 : Int_t RawDataT0 (AliT0digit *fDigits);
32 : // This method generates the files with the TOF detector data
33 8 : void SetVerbose(Int_t Verbose){fVerbose=Verbose;}
34 : // To set the verbose level
35 : void GetDigits(AliT0digit *fDigits);
36 : //This method formats and stores in buf all the digits of a TOF module
37 :
38 : void WriteDataHeader(Bool_t dummy, Bool_t compressed);
39 : void WriteDRMDataHeader();
40 : void WriteTRMDataHeader(UInt_t slotID, Int_t nWords, Int_t positionOfTRMHeader);
41 : //this method is used to write the data header
42 : void WriteTrailer(UInt_t slot, Int_t word1, UInt_t word2, UInt_t word3);
43 : void WriteChainDataHeader(UInt_t chainNumber,UInt_t slotID);
44 : void WriteChainDataTrailer(UInt_t chainNumber);
45 : void FillTime(Int_t ch, Int_t iTDC, Int_t time);
46 :
47 : //T0 digits arrays
48 :
49 :
50 0 : TArrayI *TimeLED() {return fTimeLED;}
51 0 : TArrayI *ADC1() {return fADC1;}
52 0 : TArrayI *TimeCFD() {return fTimeCFD;}
53 0 : TArrayI *ADC0() {return fADC0;}
54 :
55 :
56 :
57 : protected:
58 :
59 : Int_t fVerbose; //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
60 : UInt_t fBuffer[512]; // buffer for writing rawdata
61 : Int_t fIndex; //number of 32 words to be stored into the output file
62 : Int_t fEventNumber; // current event number
63 : TArrayI * fTimeCFD; //TDC on the each PMT
64 : TArrayI * fADC1; //QTC (ADC) on the each PMT
65 : TArrayI * fTimeLED; // TDC with amplified signal
66 : TArrayI * fADC0; //QTC amplified
67 : AliFstream* fFile; //logical name of the I/O file
68 : UInt_t fDataHeaderPos; //Data header position
69 : UInt_t fDRMDataHeaderPos; //Data DRM header position
70 : UInt_t fTRMDataHeaderPos; //Data TRM header position
71 : AliT0Parameters *fParam; // pointer to T0parameters
72 : TMap fLookUp; // LookUp Table
73 :
74 68 : ClassDef(AliT0RawData,2) // T0 raw data class
75 :
76 : };
77 :
78 : typedef AliT0RawData AliSTARTRawData; // for backward compatibility
79 :
80 : #endif
|