1 #ifndef AliTOFDDLRAWDATA_H
2 #define AliTOFDDLRAWDATA_H
4 /* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 ////////////////////////////////////////////////////////////////////////////
9 // Class used for generating the files containing raw data, //
10 // required for Data Challenge //
12 ////////////////////////////////////////////////////////////////////////////
21 class AliTOFRawStream;
23 class AliTOFDDLRawData:public TObject {
27 AliTOFDDLRawData(); // default constructor
28 AliTOFDDLRawData(AliTOFGeometry *tofGeom); // constructor
29 virtual ~AliTOFDDLRawData(){;} // destructor
30 AliTOFDDLRawData(const AliTOFDDLRawData &source); // copy constructor
31 AliTOFDDLRawData& operator=(const AliTOFDDLRawData &source); // ass. op.
32 void SetVerbose(Int_t Verbose){fVerbose=Verbose;} // To set the verbose level
34 Int_t RawDataTOF(TBranch* branch);
36 void SetPackedAcquisitionMode(Bool_t mode) {fPackedAcquisition=mode;};
37 void SetFakeOrphaneProduction(Bool_t flag) {fFakeOrphaneProduction=flag;};
38 void SetMatchingWindow(Int_t matWin) {fMatchingWindow=matWin;}; // setter for fMatchingWindow [bin number]
39 Bool_t GetPackedAcquisitionMode() const {return fPackedAcquisition;};
40 Bool_t GetFakeOrphaneProduction() const {return fFakeOrphaneProduction;};
41 Int_t GetMatchingWindow() const {return fMatchingWindow;}; // getter for fMatchingWindow [bin number]
47 void ReverseArray(UInt_t a[], Int_t n) const;
49 void MakeDRMheader(Int_t nDDL, UInt_t *buf);
50 void MakeDRMtrailer(UInt_t *buf);
51 void MakeLTMheader(UInt_t *buf);
52 void MakeLTMdata(UInt_t *buf);
53 void MakeLTMtrailer(UInt_t *buf);
54 void MakeTRMheader(Int_t nTRM, UInt_t *buf);
55 void MakeTRMtrailer(UInt_t *buf);
56 void MakeTRMfiller(UInt_t *buf, UInt_t nWordsPerTRM);
57 void MakeTRMchainHeader(Int_t iChain, Int_t nTRM, UInt_t *buf);
58 void MakeTRMchainTrailer(Int_t iChain, UInt_t *buf);
59 void MakeTDCdigits(Int_t nDDL, Int_t nTRM, Int_t iChain, UInt_t *buf, UInt_t &nWordsPerTRM);
63 Bool_t HeadOrTail() const;
65 Int_t fVerbose; //Verbose level (0:no msg, 1:msg,
66 //2:digits in txt files)
67 Int_t fIndex; //number of 32-bit words to be
68 //stored into the output file
69 Bool_t fPackedAcquisition; //flag for packed/no packed acquisition
70 Bool_t fFakeOrphaneProduction; //flag to insert fake orphane
71 //(leading or trailing) time
73 Int_t fMatchingWindow; //time window [bin number] where to
74 //search time-of-flight measurements
75 //for the current event
77 AliTOFGeometry *fTOFgeometry; //Pointer to the TOF geometry
79 AliTOFDigitMap *fTOFdigitMap; //Pointer to the channel-TOF map
81 TClonesArray *fTOFdigitArray; //Pointer to the TOF digits
83 AliTOFRawStream *fTOFrawStream; //Pointer to the AliTOFRawStream class
85 ClassDef(AliTOFDDLRawData,1)