Improved QAchecker and plots for DQM
[u/mrichter/AliRoot.git] / TOF / AliTOFDDLRawData.h
CommitLineData
55458a14 1#ifndef ALITOFDDLRAWDATA_H
2#define ALITOFDDLRAWDATA_H
0e46b9ae 3
7e6dce66 4/* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7////////////////////////////////////////////////////////////////////////////
0e46b9ae 8// //
7e6dce66 9// Class used for generating the files containing raw data, //
0e46b9ae 10// required for Data Challenge //
11// //
7e6dce66 12////////////////////////////////////////////////////////////////////////////
13
0e46b9ae 14#include "TObject.h"
177b002e 15//#include "AliTOFCableLengthMap.h"
7e6dce66 16
d0eb8f39 17class TBranch;
18class TClonesArray;
19
20class AliTOFDigitMap;
177b002e 21//class AliTOFRawStream;
d0eb8f39 22
23class AliTOFDDLRawData:public TObject {
7e6dce66 24
7e6dce66 25 public:
d0eb8f39 26
7e6dce66 27 AliTOFDDLRawData(); // default constructor
d321691a 28 virtual ~AliTOFDDLRawData(); // destructor
7e6dce66 29 AliTOFDDLRawData(const AliTOFDDLRawData &source); // copy constructor
30 AliTOFDDLRawData& operator=(const AliTOFDDLRawData &source); // ass. op.
d0eb8f39 31 void SetVerbose(Int_t Verbose){fVerbose=Verbose;} // To set the verbose level
32
7e6dce66 33 Int_t RawDataTOF(TBranch* branch);
d0eb8f39 34
515faf5d 35 void SetPackedAcquisitionMode(Bool_t mode) {fPackedAcquisition=mode;};
36 void SetFakeOrphaneProduction(Bool_t flag) {fFakeOrphaneProduction=flag;};
37 void SetMatchingWindow(Int_t matWin) {fMatchingWindow=matWin;}; // setter for fMatchingWindow [bin number]
38 Bool_t GetPackedAcquisitionMode() const {return fPackedAcquisition;};
39 Bool_t GetFakeOrphaneProduction() const {return fFakeOrphaneProduction;};
40 Int_t GetMatchingWindow() const {return fMatchingWindow;}; // getter for fMatchingWindow [bin number]
15ec34b9 41
7e6dce66 42 private:
7e6dce66 43
d0eb8f39 44 void GetDigits();
45
46 void ReverseArray(UInt_t a[], Int_t n) const;
47
48 void MakeDRMheader(Int_t nDDL, UInt_t *buf);
49 void MakeDRMtrailer(UInt_t *buf);
50 void MakeLTMheader(UInt_t *buf);
51 void MakeLTMdata(UInt_t *buf);
52 void MakeLTMtrailer(UInt_t *buf);
53 void MakeTRMheader(Int_t nTRM, UInt_t *buf);
54 void MakeTRMtrailer(UInt_t *buf);
c5cf594b 55 void MakeTRMfiller(UInt_t *buf);
d0eb8f39 56 void MakeTRMchainHeader(Int_t iChain, Int_t nTRM, UInt_t *buf);
57 void MakeTRMchainTrailer(Int_t iChain, UInt_t *buf);
c5cf594b 58 void MakeTDCdigits(Int_t nDDL, Int_t nTRM, Int_t iChain, UInt_t *buf);
d0eb8f39 59
3407e19b 60 UInt_t MakeFiller() const;
d0eb8f39 61
15ec34b9 62 Bool_t HeadOrTail() const;
63
515faf5d 64 Int_t fVerbose; //Verbose level (0:no msg, 1:msg,
65 //2:digits in txt files)
66 Int_t fIndex; //number of 32-bit words to be
67 //stored into the output file
15ec34b9 68 Bool_t fPackedAcquisition; //flag for packed/no packed acquisition
515faf5d 69 Bool_t fFakeOrphaneProduction; //flag to insert fake orphane
70 //(leading or trailing) time
71 //measurements
72 Int_t fMatchingWindow; //time window [bin number] where to
73 //search time-of-flight measurements
74 //for the current event
d0eb8f39 75
d0eb8f39 76 AliTOFDigitMap *fTOFdigitMap; //Pointer to the channel-TOF map
77
78 TClonesArray *fTOFdigitArray; //Pointer to the TOF digits
79
c5cf594b 80 Int_t fWordsPerDRM;
81 Int_t fWordsPerTRM;
82 Int_t fWordsPerChain;
d3c7bfac 83
c5cf594b 84 ClassDef(AliTOFDDLRawData,4)
571dda3d 85
7e6dce66 86};
87
55458a14 88#endif // ALITOFDDLRAWDATA_H