913984bbbd1358b9900c571db02c75ac07dc058a
[u/mrichter/AliRoot.git] / START / AliSTARTRawData.h
1 #ifndef ALISTARTRAWDATA_H
2 #define ALISTARTRAWDATA_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 START digits into a raw data stream                               //
11 //                                                                           //
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include "TObject.h"
15 class AliSTART;
16 class AliSTARTdigit;
17 class TTRee;
18 class TBranch;
19 //class AliRawDataHeader;
20 class AliSTARTRawData : public TObject {
21
22  public:
23
24   AliSTARTRawData();                                         // default constructor
25   AliSTARTRawData(const AliSTARTRawData &r);                 // copy constructor
26   virtual ~AliSTARTRawData();                                // destructor
27   AliSTARTRawData &operator=(const AliSTARTRawData &r);      // ass. op.
28
29    Int_t RawDataSTART (AliSTARTdigit *fDigits); 
30   // This method generates the files with the TOF detector data
31   void SetVerbose(Int_t Verbose){fVerbose=Verbose;}
32   // To set the verbose level
33   void  GetDigits(AliSTARTdigit *fDigits, UInt_t *buf);
34   //This method formats and stores in buf all the digits of a TOF module
35
36   void  PackWord(UInt_t &BaseWord, UInt_t Word, Int_t StartBit, Int_t StopBit);
37   //This method stores the value of the variable Word of StopBit-StartBit+1 bits 
38   //in BaseWord, starting from the bit StartBit
39
40
41  //START digits arrays
42
43   AliSTARTdigit *fDigits;  //! The START digits manager
44
45   TArrayI *timeTDC() {return ftimeTDC;}
46   TArrayI *ADC() {return fADC;}
47   TArrayI *timeTDCAmp() {return ftimeTDCAmp;}
48   TArrayI *ADCAmp() {return fADCAmp;}
49   TArrayI *SumMult() {return fSumMult;}
50
51  
52   
53  protected:
54
55   Int_t fVerbose;            //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
56   Int_t fIndex;              //number of 32 words to be stored into the output file
57
58   Int_t fTimeDiff     ; //time difference 
59   Int_t fMeanTime      ; // average time - ALICE start signal 
60   Int_t fBestTimeLeft;
61   Int_t fBestTimeRight;
62   TArrayI * ftimeTDC;
63   TArrayI *  fADC;
64   TArrayI * ftimeTDCAmp;
65   TArrayI *  fADCAmp;
66   TArrayI *  fSumMult;
67
68   ClassDef(AliSTARTRawData,1)             //  START raw data class
69
70 };
71 #endif