]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRawData.h
Update raw2digits framework (Ch.Finck)
[u/mrichter/AliRoot.git] / MUON / AliMUONRawData.h
CommitLineData
f6762c71 1#ifndef ALIMUONRAWDATA_H
2#define ALIMUONRAWDATA_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
1195fa7b 6/* Raw data class for trigger and tracker chambers */
7
f6762c71 8#include <TObject.h>
69be760c 9#include "AliMUONSubEventTracker.h"
69be760c 10
f6762c71 11class TClonesArray;
12class AliLoader;
13class AliMUONData;
14class AliMUONDigit;
15class AliMUONDDLTracker;
69be760c 16class AliMUONDDLTrigger;
c8b4255f 17class AliMUONGlobalTrigger;
1195fa7b 18class AliMUONSubEventTrigger;
1197ff51 19class AliRawReader;
f6762c71 20
21class AliMUONRawData : public TObject
22{
23 public:
24 AliMUONRawData(AliLoader* loader); // Constructor
25 virtual ~AliMUONRawData(void); // Destructor
26
27 // write raw data
1197ff51 28 Int_t Digits2Raw();
29 Int_t Raw2Digits(AliRawReader* rawReader);
f6762c71 30
31 AliMUONData* GetMUONData() {return fMUONData;}
32
1195fa7b 33 void AddData1(const AliMUONSubEventTracker* event) {
69be760c 34 TClonesArray &temp = *fSubEventArray[0];
35 new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event);
36 }
37
1195fa7b 38 void AddData2(const AliMUONSubEventTracker* event) {
69be760c 39 TClonesArray &temp = *fSubEventArray[1];
40 new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event);
41 }
42
43 void GetDummyMapping(Int_t iCh, Int_t iCath, const AliMUONDigit* digit, Int_t &busPatchId,
f1501d74 44 UShort_t &manuId, UChar_t &channelId);
69be760c 45
1197ff51 46 void GetInvDummyMapping(Int_t iCh, Int_t buspatchId, UShort_t manuId,
47 UChar_t channelId, AliMUONDigit* digit );
48
49
1195fa7b 50 Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg);
69be760c 51
f6762c71 52 protected:
53 AliMUONRawData(); // Default constructor
54 AliMUONRawData (const AliMUONRawData& rhs); // copy constructor
55 AliMUONRawData& operator=(const AliMUONRawData& rhs); // assignment operator
56
57 private:
58 static const Int_t fgkDefaultPrintLevel; // Default print level
59
1195fa7b 60 AliMUONData* fMUONData; //! Data container for MUON subsystem
1195fa7b 61
1195fa7b 62 AliLoader* fLoader; //! alice loader
1195fa7b 63
64 FILE* fFile1; //! DDL binary file pointer one per 1/2 chamber
65 FILE* fFile2; //! DDL binary file pointer one per 1/2 chamber
69be760c 66
1195fa7b 67 TClonesArray* fSubEventArray[2]; //! array to sub event tracker
68
69 TClonesArray* fSubEventTrigArray[2]; //! array to sub event trigger
70
71 AliMUONDDLTracker* fDDLTracker; //! DDL tracker class pointers
72 AliMUONDDLTrigger* fDDLTrigger; //! DDL trigger class pointers
69be760c 73
74 // writing raw data
75 Int_t WriteTrackerDDL(Int_t iCh);
76 Int_t WriteTriggerDDL();
f6762c71 77
1197ff51 78 Int_t ReadTrackerDDL(AliRawReader* rawReader);
79 Int_t ReadTriggerDDL(AliRawReader* rawReader);
80
81 ClassDef(AliMUONRawData,1) // MUON cluster reconstructor in ALICE
f6762c71 82};
83
84#endif