]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FIT/FITbase/AliFITRawData.h
full chain fo extended geometry
[u/mrichter/AliRoot.git] / FIT / FITbase / AliFITRawData.h
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   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   ClassDef(AliFITRawData,1)             //  FIT raw data class
61
62 };
63
64
65 #endif