FIT module
[u/mrichter/AliRoot.git] / FIT / FITbase / AliFITRawData.h
CommitLineData
c1c44db3 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
16class AliFIT;
17class AliFITDigit;
18class AliFstream;
19class TFile;
20class TMap;
21class AliRawDataHeaderSim;
22class 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 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[500];
58 AliFstream* fFile; //logical name of the I/O file
59
60 ClassDef(AliFITRawData,1) // FIT raw data class
61
62};
63
64
65#endif