ROOT logo
#ifndef ALIT0RAWDATA_H
#define ALIT0RAWDATA_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  Converts T0 digits into a raw data stream                               //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include "TObject.h"

class AliT0;
class AliT0digit;
class AliFstream;
class TFile;
class TMap;
class AliRawDataHeaderSim;
class AliT0RawData : public TObject {

 public:

  AliT0RawData();                                         // default constructor
  AliT0RawData(const AliT0RawData &r);                 // copy constructor
  virtual ~AliT0RawData();                                // destructor
  AliT0RawData &operator=(const AliT0RawData &r);      // ass. op.

   Int_t RawDataT0 (AliT0digit *fDigits); 
  // This method generates the files with the TOF detector data
  void SetVerbose(Int_t Verbose){fVerbose=Verbose;}
  // To set the verbose level
  void  GetDigits(AliT0digit *fDigits);
  //This method formats and stores in buf all the digits of a TOF module

   void  WriteDataHeader(Bool_t dummy, Bool_t compressed);
   void  WriteDRMDataHeader();
   void  WriteTRMDataHeader(UInt_t slotID, Int_t nWords, Int_t positionOfTRMHeader);
   //this method is used to write the data header
   void  WriteTrailer(UInt_t slot, Int_t word1, UInt_t word2, UInt_t word3); 
   void  WriteChainDataHeader(UInt_t chainNumber,UInt_t slotID);
   void  WriteChainDataTrailer(UInt_t chainNumber);
   void  FillTime(Int_t ch, Int_t iTDC, Int_t time);

 //T0 digits arrays


  TArrayI *TimeLED() {return fTimeLED;}
  TArrayI *ADC1() {return fADC1;}
  TArrayI *TimeCFD() {return fTimeCFD;}
  TArrayI *ADC0() {return fADC0;}

 
  
 protected:

  Int_t fVerbose;           //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
  UInt_t fBuffer[512];      // buffer for writing rawdata
  Int_t fIndex;             //number of 32 words to be stored into the output file
  Int_t fEventNumber;       // current event number
  TArrayI * fTimeCFD;       //TDC on the each PMT
  TArrayI *  fADC1;         //QTC (ADC) on the each PMT
  TArrayI * fTimeLED;       // TDC with amplified signal
  TArrayI *  fADC0;         //QTC amplified
  AliFstream* fFile;        //logical name of the I/O file
  UInt_t fDataHeaderPos;    //Data header position
  UInt_t fDRMDataHeaderPos; //Data DRM header position
  UInt_t fTRMDataHeaderPos; //Data TRM header position
  AliT0Parameters *fParam;  // pointer to T0parameters
  TMap fLookUp;             // LookUp Table
  
  ClassDef(AliT0RawData,2)             //  T0 raw data class

};

typedef AliT0RawData AliSTARTRawData; // for backward compatibility

#endif
 AliT0RawData.h:1
 AliT0RawData.h:2
 AliT0RawData.h:3
 AliT0RawData.h:4
 AliT0RawData.h:5
 AliT0RawData.h:6
 AliT0RawData.h:7
 AliT0RawData.h:8
 AliT0RawData.h:9
 AliT0RawData.h:10
 AliT0RawData.h:11
 AliT0RawData.h:12
 AliT0RawData.h:13
 AliT0RawData.h:14
 AliT0RawData.h:15
 AliT0RawData.h:16
 AliT0RawData.h:17
 AliT0RawData.h:18
 AliT0RawData.h:19
 AliT0RawData.h:20
 AliT0RawData.h:21
 AliT0RawData.h:22
 AliT0RawData.h:23
 AliT0RawData.h:24
 AliT0RawData.h:25
 AliT0RawData.h:26
 AliT0RawData.h:27
 AliT0RawData.h:28
 AliT0RawData.h:29
 AliT0RawData.h:30
 AliT0RawData.h:31
 AliT0RawData.h:32
 AliT0RawData.h:33
 AliT0RawData.h:34
 AliT0RawData.h:35
 AliT0RawData.h:36
 AliT0RawData.h:37
 AliT0RawData.h:38
 AliT0RawData.h:39
 AliT0RawData.h:40
 AliT0RawData.h:41
 AliT0RawData.h:42
 AliT0RawData.h:43
 AliT0RawData.h:44
 AliT0RawData.h:45
 AliT0RawData.h:46
 AliT0RawData.h:47
 AliT0RawData.h:48
 AliT0RawData.h:49
 AliT0RawData.h:50
 AliT0RawData.h:51
 AliT0RawData.h:52
 AliT0RawData.h:53
 AliT0RawData.h:54
 AliT0RawData.h:55
 AliT0RawData.h:56
 AliT0RawData.h:57
 AliT0RawData.h:58
 AliT0RawData.h:59
 AliT0RawData.h:60
 AliT0RawData.h:61
 AliT0RawData.h:62
 AliT0RawData.h:63
 AliT0RawData.h:64
 AliT0RawData.h:65
 AliT0RawData.h:66
 AliT0RawData.h:67
 AliT0RawData.h:68
 AliT0RawData.h:69
 AliT0RawData.h:70
 AliT0RawData.h:71
 AliT0RawData.h:72
 AliT0RawData.h:73
 AliT0RawData.h:74
 AliT0RawData.h:75
 AliT0RawData.h:76
 AliT0RawData.h:77
 AliT0RawData.h:78
 AliT0RawData.h:79
 AliT0RawData.h:80