Line data Source code
1 : #ifndef ALIFITRAWDATA_H
2 : #define ALIFITRAWDATA_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 FIT digits into a raw data stream //
11 : // //
12 : ///////////////////////////////////////////////////////////////////////////////
13 :
14 : #include "TObject.h"
15 :
16 : class AliFIT;
17 : class AliFITDigit;
18 : class AliFstream;
19 : class TFile;
20 : class TMap;
21 : class AliRawDataHeaderSim;
22 : class AliFITRawData : public TObject {
23 :
24 : public:
25 :
26 : AliFITRawData(); // default constructor
27 : AliFITRawData(const AliFITRawData &r); // copy constructor
28 : virtual ~AliFITRawData(); // destructor
29 : AliFITRawData &operator=(const AliFITRawData &r); // ass. op.
30 :
31 : Int_t RawDataFIT (TBranch* branch);
32 : // This method generates the files with the FIT detector data
33 0 : void SetVerbose(Int_t Verbose){fVerbose=Verbose;}
34 : // To set the verbose level
35 : void GetDigits();
36 : //This method formats and stores in buf all the digits of FIT 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 :
48 :
49 : protected:
50 :
51 : TClonesArray *fFITdigitArray; //Pointer to the FIT digits
52 : Int_t fVerbose; //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
53 : UInt_t fBuffer[512]; // buffer for writing rawdata
54 : Int_t fIndex; //number of 32 words to be stored into the output file
55 : Int_t fEventNumber; // current event number
56 : Int_t fDataHeaderPos;
57 : Int_t fAllData[1000];
58 : AliFstream* fFile; //logical name of the I/O file
59 :
60 4 : ClassDef(AliFITRawData,1) // FIT raw data class
61 :
62 : };
63 :
64 :
65 : #endif
|