]> git.uio.no Git - u/mrichter/AliRoot.git/blame - T0/AliT0RawData.h
- add new classes
[u/mrichter/AliRoot.git] / T0 / AliT0RawData.h
CommitLineData
dc7ca31d 1#ifndef ALIT0RAWDATA_H
2#define ALIT0RAWDATA_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 T0 digits into a raw data stream //
11// //
12///////////////////////////////////////////////////////////////////////////////
13
14#include "TObject.h"
15
16class AliT0;
17class AliT0digit;
18class AliFstream;
19class TFile;
29d3e0eb 20class TMap;
dc7ca31d 21class AliRawDataHeaderSim;
22class AliT0RawData : public TObject {
23
24 public:
25
26 AliT0RawData(); // default constructor
27 AliT0RawData(const AliT0RawData &r); // copy constructor
28 virtual ~AliT0RawData(); // destructor
29 AliT0RawData &operator=(const AliT0RawData &r); // ass. op.
30
31 Int_t RawDataT0 (AliT0digit *fDigits);
32 // This method generates the files with the TOF detector data
33 void SetVerbose(Int_t Verbose){fVerbose=Verbose;}
34 // To set the verbose level
35 void GetDigits(AliT0digit *fDigits);
36 //This method formats and stores in buf all the digits of a TOF module
37
dc7ca31d 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);
5325480c 44 void WriteChainDataTrailer(UInt_t chainNumber);
dc7ca31d 45 void FillTime(Int_t ch, Int_t iTDC, Int_t time);
46
47 //T0 digits arrays
48
49
50 TArrayI *TimeLED() {return fTimeLED;}
51 TArrayI *ADC1() {return fADC1;}
52 TArrayI *TimeCFD() {return fTimeCFD;}
53 TArrayI *ADC0() {return fADC0;}
54
55
56
57 protected:
58
94249139 59 Int_t fVerbose; //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
60 UInt_t fBuffer[512]; // buffer for writing rawdata
61 Int_t fIndex; //number of 32 words to be stored into the output file
62 Int_t fEventNumber; // current event number
63 TArrayI * fTimeCFD; //TDC on the each PMT
64 TArrayI * fADC1; //QTC (ADC) on the each PMT
65 TArrayI * fTimeLED; // TDC with amplified signal
66 TArrayI * fADC0; //QTC amplified
67 AliFstream* fFile; //logical name of the I/O file
68 UInt_t fDataHeaderPos; //Data header position
69 UInt_t fDRMDataHeaderPos; //Data DRM header position
70 UInt_t fTRMDataHeaderPos; //Data TRM header position
29d3e0eb 71 AliT0Parameters *fParam; // pointer to T0parameters
94249139 72 TMap fLookUp; // LookUp Table
c41ceaac 73
74 ClassDef(AliT0RawData,2) // T0 raw data class
dc7ca31d 75
76};
77
78typedef AliT0RawData AliSTARTRawData; // for backward compatibility
79
80#endif