]>
Commit | Line | Data |
---|---|---|
dc7ca31d | 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; | |
29d3e0eb | 20 | class TMap; |
dc7ca31d | 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 | 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 PackWord(UInt_t &BaseWord, UInt_t Word, Int_t StartBit, Int_t StopBit); | |
39 | //This method stores the value of the variable Word of StopBit-StartBit+1 bits | |
40 | //in BaseWord, starting from the bit StartBit | |
41 | ||
42 | void WriteDataHeader(Bool_t dummy, Bool_t compressed); | |
43 | void WriteDRMDataHeader(); | |
44 | void WriteTRMDataHeader(UInt_t slotID, Int_t nWords, Int_t positionOfTRMHeader); | |
45 | //this method is used to write the data header | |
46 | void WriteTrailer(UInt_t slot, Int_t word1, UInt_t word2, UInt_t word3); | |
47 | void WriteChainDataHeader(UInt_t chainNumber,UInt_t slotID); | |
5325480c | 48 | void WriteChainDataTrailer(UInt_t chainNumber); |
dc7ca31d | 49 | void FillTime(Int_t ch, Int_t iTDC, Int_t time); |
50 | ||
51 | //T0 digits arrays | |
52 | ||
53 | ||
54 | TArrayI *TimeLED() {return fTimeLED;} | |
55 | TArrayI *ADC1() {return fADC1;} | |
56 | TArrayI *TimeCFD() {return fTimeCFD;} | |
57 | TArrayI *ADC0() {return fADC0;} | |
58 | ||
59 | ||
60 | ||
61 | protected: | |
62 | ||
94249139 | 63 | Int_t fVerbose; //Verbose level (0:no msg, 1:msg, 2:digits in txt files) |
64 | UInt_t fBuffer[512]; // buffer for writing rawdata | |
65 | Int_t fIndex; //number of 32 words to be stored into the output file | |
66 | Int_t fEventNumber; // current event number | |
67 | TArrayI * fTimeCFD; //TDC on the each PMT | |
68 | TArrayI * fADC1; //QTC (ADC) on the each PMT | |
69 | TArrayI * fTimeLED; // TDC with amplified signal | |
70 | TArrayI * fADC0; //QTC amplified | |
71 | AliFstream* fFile; //logical name of the I/O file | |
72 | UInt_t fDataHeaderPos; //Data header position | |
73 | UInt_t fDRMDataHeaderPos; //Data DRM header position | |
74 | UInt_t fTRMDataHeaderPos; //Data TRM header position | |
29d3e0eb | 75 | AliT0Parameters *fParam; // pointer to T0parameters |
94249139 | 76 | TMap fLookUp; // LookUp Table |
c41ceaac | 77 | |
78 | ClassDef(AliT0RawData,2) // T0 raw data class | |
dc7ca31d | 79 | |
80 | }; | |
81 | ||
82 | typedef AliT0RawData AliSTARTRawData; // for backward compatibility | |
83 | ||
84 | #endif |