]>
Commit | Line | Data |
---|---|---|
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 | ||
692de412 | 6 | /*$Id$*/ |
7 | ||
8 | /// \ingroup rec | |
9 | /// \class AliMUONRawData | |
10 | /// \brief Raw data class for trigger and tracker chambers | |
11 | /// | |
12 | /// Raw data class for trigger and tracker chambers | |
13 | ||
f6762c71 | 14 | #include <TObject.h> |
ef0fac9f | 15 | #include "AliMpBusPatch.h" |
69be760c | 16 | #include "AliMUONSubEventTracker.h" |
69be760c | 17 | |
f6762c71 | 18 | class TClonesArray; |
a2da7817 | 19 | class TArrayI; |
f6762c71 | 20 | class AliLoader; |
21 | class AliMUONData; | |
22 | class AliMUONDigit; | |
23 | class AliMUONDDLTracker; | |
69be760c | 24 | class AliMUONDDLTrigger; |
c8b4255f | 25 | class AliMUONGlobalTrigger; |
1195fa7b | 26 | class AliMUONSubEventTrigger; |
1197ff51 | 27 | class AliRawReader; |
ce6a659c | 28 | class AliMUONGlobalTrigger; |
19d60750 | 29 | class AliMpSegFactory; |
f6762c71 | 30 | |
31 | class AliMUONRawData : public TObject | |
32 | { | |
33 | public: | |
34 | AliMUONRawData(AliLoader* loader); // Constructor | |
35 | virtual ~AliMUONRawData(void); // Destructor | |
36 | ||
37 | // write raw data | |
1197ff51 | 38 | Int_t Digits2Raw(); |
39 | Int_t Raw2Digits(AliRawReader* rawReader); | |
f6762c71 | 40 | |
a2da7817 | 41 | Int_t ReadTrackerDDL(AliRawReader* rawReader); |
42 | Int_t ReadTriggerDDL(AliRawReader* rawReader); | |
43 | ||
f6762c71 | 44 | AliMUONData* GetMUONData() {return fMUONData;} |
45 | ||
a2da7817 | 46 | void AddData(const AliMUONSubEventTracker* event) { |
47 | TClonesArray &temp = *fSubEventArray; | |
69be760c | 48 | new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event); |
49 | } | |
50 | ||
a2da7817 | 51 | // could be private function (public for debugging) |
52 | Int_t GetInvMapping(const AliMUONDigit* digit, Int_t &busPatchId, | |
f1501d74 | 53 | UShort_t &manuId, UChar_t &channelId); |
69be760c | 54 | |
a2da7817 | 55 | Int_t GetMapping(Int_t buspatchId, UShort_t manuId, |
1197ff51 | 56 | UChar_t channelId, AliMUONDigit* digit ); |
57 | ||
e79761f1 | 58 | Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg) const; |
59 | AliMUONGlobalTrigger* GetGlobalTriggerPattern(Int_t gloTrg) const; | |
69be760c | 60 | |
a2da7817 | 61 | |
f6762c71 | 62 | protected: |
63 | AliMUONRawData(); // Default constructor | |
64 | AliMUONRawData (const AliMUONRawData& rhs); // copy constructor | |
65 | AliMUONRawData& operator=(const AliMUONRawData& rhs); // assignment operator | |
66 | ||
67 | private: | |
f6762c71 | 68 | |
1195fa7b | 69 | AliMUONData* fMUONData; //! Data container for MUON subsystem |
1195fa7b | 70 | |
1195fa7b | 71 | AliLoader* fLoader; //! alice loader |
1195fa7b | 72 | |
19d60750 | 73 | AliMpSegFactory* fSegFactory; //! Mapping segmentation factory |
74 | ||
a2da7817 | 75 | FILE* fFile[2]; //! DDL binary file pointer one per 1/2 chamber |
69be760c | 76 | |
e79761f1 | 77 | TClonesArray* fSubEventArray; //! array to sub event tracker |
ce6a659c | 78 | |
e79761f1 | 79 | AliMUONDDLTracker* fDDLTracker; //! DDL tracker class pointers |
80 | AliMUONDDLTrigger* fDDLTrigger; //! DDL trigger class pointers | |
69be760c | 81 | |
ef0fac9f | 82 | AliMpBusPatch* fBusPatchManager; //! buspatch versus DE's & DDL |
a2da7817 | 83 | |
69be760c | 84 | // writing raw data |
85 | Int_t WriteTrackerDDL(Int_t iCh); | |
86 | Int_t WriteTriggerDDL(); | |
f6762c71 | 87 | |
1197ff51 | 88 | ClassDef(AliMUONRawData,1) // MUON cluster reconstructor in ALICE |
f6762c71 | 89 | }; |
90 | ||
91 | #endif |