TOF raw data format: updated version
[u/mrichter/AliRoot.git] / TOF / AliTOFDDLRawData.h
1 #ifndef AliTOFDDLRAWDATA_H
2 #define AliTOFDDLRAWDATA_H
3
4 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 ////////////////////////////////////////////////////////////////////////////
8 //                                                                        //
9 // Class used for generating the files containing raw data,               //
10 // required for Data Challenge                                            //
11 //                                                                        //
12 ////////////////////////////////////////////////////////////////////////////
13
14 #include "TObject.h"
15
16 class TBranch;
17 class TClonesArray;
18
19 class AliTOFDigitMap;
20 class AliTOFGeometry;
21 class AliTOFRawStream;
22
23 class AliTOFDDLRawData:public TObject {
24
25  public:
26
27   AliTOFDDLRawData();                               // default constructor
28   AliTOFDDLRawData(AliTOFGeometry *tofGeom);        // constructor
29   virtual ~AliTOFDDLRawData(){;}                    // destructor
30   AliTOFDDLRawData(const AliTOFDDLRawData &source); // copy constructor
31   AliTOFDDLRawData& operator=(const AliTOFDDLRawData &source); // ass. op.
32   void SetVerbose(Int_t Verbose){fVerbose=Verbose;} // To set the verbose level
33
34   Int_t RawDataTOF(TBranch* branch); 
35
36  private:
37
38   void  GetDigits();
39
40   void  ReverseArray(UInt_t a[], Int_t n) const;
41
42   void  MakeDRMheader(Int_t nDDL, UInt_t *buf);
43   void  MakeDRMtrailer(UInt_t *buf);
44   void  MakeLTMheader(UInt_t *buf);
45   void  MakeLTMdata(UInt_t *buf);
46   void  MakeLTMtrailer(UInt_t *buf);
47   void  MakeTRMheader(Int_t nTRM, UInt_t *buf);
48   void  MakeTRMtrailer(UInt_t *buf);
49   void  MakeTRMfiller(UInt_t *buf, UInt_t nWordsPerTRM);
50   void  MakeTRMchainHeader(Int_t iChain, Int_t nTRM, UInt_t *buf);
51   void  MakeTRMchainTrailer(Int_t iChain, UInt_t *buf);
52   void  MakeTDCdigits(Int_t nDDL, Int_t nTRM, Int_t iChain, UInt_t *buf, UInt_t &nWordsPerTRM);
53
54   UInt_t  MakeFiller();
55
56   Int_t fVerbose;                 //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
57   Int_t fIndex;                   //number of 32-bit words to be stored into the output file
58
59   AliTOFGeometry *fTOFgeometry;   //Pointer to the TOF geometry
60
61   AliTOFDigitMap *fTOFdigitMap;   //Pointer to the channel-TOF map
62
63   TClonesArray *fTOFdigitArray;   //Pointer to the TOF digits
64
65   AliTOFRawStream *fTOFrawStream; //Pointer to the AliTOFRawStream class
66
67   ClassDef(AliTOFDDLRawData,1)
68
69 };
70     
71 #endif