0e46b9ae |
1 | #ifndef AliTOFDDLRAWDATA_H |
2 | #define AliTOFDDLRAWDATA_H |
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" |
7e6dce66 |
15 | |
d0eb8f39 |
16 | class TBranch; |
17 | class TClonesArray; |
18 | |
19 | class AliTOFDigitMap; |
d0eb8f39 |
20 | class AliTOFRawStream; |
21 | |
22 | class AliTOFDDLRawData:public TObject { |
7e6dce66 |
23 | |
7e6dce66 |
24 | public: |
d0eb8f39 |
25 | |
7e6dce66 |
26 | AliTOFDDLRawData(); // default constructor |
d321691a |
27 | virtual ~AliTOFDDLRawData(); // destructor |
7e6dce66 |
28 | AliTOFDDLRawData(const AliTOFDDLRawData &source); // copy constructor |
29 | AliTOFDDLRawData& operator=(const AliTOFDDLRawData &source); // ass. op. |
d0eb8f39 |
30 | void SetVerbose(Int_t Verbose){fVerbose=Verbose;} // To set the verbose level |
31 | |
7e6dce66 |
32 | Int_t RawDataTOF(TBranch* branch); |
d0eb8f39 |
33 | |
515faf5d |
34 | void SetPackedAcquisitionMode(Bool_t mode) {fPackedAcquisition=mode;}; |
35 | void SetFakeOrphaneProduction(Bool_t flag) {fFakeOrphaneProduction=flag;}; |
36 | void SetMatchingWindow(Int_t matWin) {fMatchingWindow=matWin;}; // setter for fMatchingWindow [bin number] |
37 | Bool_t GetPackedAcquisitionMode() const {return fPackedAcquisition;}; |
38 | Bool_t GetFakeOrphaneProduction() const {return fFakeOrphaneProduction;}; |
39 | Int_t GetMatchingWindow() const {return fMatchingWindow;}; // getter for fMatchingWindow [bin number] |
15ec34b9 |
40 | |
7e6dce66 |
41 | private: |
7e6dce66 |
42 | |
d0eb8f39 |
43 | void GetDigits(); |
44 | |
45 | void ReverseArray(UInt_t a[], Int_t n) const; |
46 | |
47 | void MakeDRMheader(Int_t nDDL, UInt_t *buf); |
48 | void MakeDRMtrailer(UInt_t *buf); |
49 | void MakeLTMheader(UInt_t *buf); |
50 | void MakeLTMdata(UInt_t *buf); |
51 | void MakeLTMtrailer(UInt_t *buf); |
52 | void MakeTRMheader(Int_t nTRM, UInt_t *buf); |
53 | void MakeTRMtrailer(UInt_t *buf); |
54 | void MakeTRMfiller(UInt_t *buf, UInt_t nWordsPerTRM); |
55 | void MakeTRMchainHeader(Int_t iChain, Int_t nTRM, UInt_t *buf); |
56 | void MakeTRMchainTrailer(Int_t iChain, UInt_t *buf); |
57 | void MakeTDCdigits(Int_t nDDL, Int_t nTRM, Int_t iChain, UInt_t *buf, UInt_t &nWordsPerTRM); |
58 | |
515faf5d |
59 | UInt_t MakeFiller(); |
d0eb8f39 |
60 | |
15ec34b9 |
61 | Bool_t HeadOrTail() const; |
62 | |
515faf5d |
63 | Int_t fVerbose; //Verbose level (0:no msg, 1:msg, |
64 | //2:digits in txt files) |
65 | Int_t fIndex; //number of 32-bit words to be |
66 | //stored into the output file |
15ec34b9 |
67 | Bool_t fPackedAcquisition; //flag for packed/no packed acquisition |
515faf5d |
68 | Bool_t fFakeOrphaneProduction; //flag to insert fake orphane |
69 | //(leading or trailing) time |
70 | //measurements |
71 | Int_t fMatchingWindow; //time window [bin number] where to |
72 | //search time-of-flight measurements |
73 | //for the current event |
d0eb8f39 |
74 | |
d0eb8f39 |
75 | AliTOFDigitMap *fTOFdigitMap; //Pointer to the channel-TOF map |
76 | |
77 | TClonesArray *fTOFdigitArray; //Pointer to the TOF digits |
78 | |
79 | AliTOFRawStream *fTOFrawStream; //Pointer to the AliTOFRawStream class |
d3c7bfac |
80 | |
96f01799 |
81 | ClassDef(AliTOFDDLRawData,2) |
571dda3d |
82 | |
7e6dce66 |
83 | }; |
84 | |
85 | #endif |