]>
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> |
a2da7817 | 15 | #include <TExMap.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; |
f6762c71 | 29 | |
30 | class AliMUONRawData : public TObject | |
31 | { | |
32 | public: | |
33 | AliMUONRawData(AliLoader* loader); // Constructor | |
34 | virtual ~AliMUONRawData(void); // Destructor | |
35 | ||
36 | // write raw data | |
1197ff51 | 37 | Int_t Digits2Raw(); |
38 | Int_t Raw2Digits(AliRawReader* rawReader); | |
f6762c71 | 39 | |
a2da7817 | 40 | Int_t ReadTrackerDDL(AliRawReader* rawReader); |
41 | Int_t ReadTriggerDDL(AliRawReader* rawReader); | |
42 | ||
12098105 | 43 | void GetDspInfo(Int_t iCh, Int_t& iDspMax, Int_t* iBusPerDSP); |
44 | Int_t GetDDLfromBus(Int_t busPatchId); | |
45 | ||
f6762c71 | 46 | AliMUONData* GetMUONData() {return fMUONData;} |
47 | ||
a2da7817 | 48 | void AddData(const AliMUONSubEventTracker* event) { |
49 | TClonesArray &temp = *fSubEventArray; | |
69be760c | 50 | new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event); |
51 | } | |
52 | ||
69be760c | 53 | |
a2da7817 | 54 | // could be private function (public for debugging) |
55 | Int_t GetInvMapping(const AliMUONDigit* digit, Int_t &busPatchId, | |
f1501d74 | 56 | UShort_t &manuId, UChar_t &channelId); |
69be760c | 57 | |
a2da7817 | 58 | Int_t GetMapping(Int_t buspatchId, UShort_t manuId, |
1197ff51 | 59 | UChar_t channelId, AliMUONDigit* digit ); |
60 | ||
61 | ||
e79761f1 | 62 | Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg) const; |
63 | AliMUONGlobalTrigger* GetGlobalTriggerPattern(Int_t gloTrg) const; | |
69be760c | 64 | |
a2da7817 | 65 | Int_t GetDEfromBus(Int_t busPatchId); |
66 | TArrayI* GetBusfromDE(Int_t idDE); | |
67 | ||
f6762c71 | 68 | protected: |
69 | AliMUONRawData(); // Default constructor | |
70 | AliMUONRawData (const AliMUONRawData& rhs); // copy constructor | |
71 | AliMUONRawData& operator=(const AliMUONRawData& rhs); // assignment operator | |
72 | ||
73 | private: | |
f6762c71 | 74 | |
1195fa7b | 75 | AliMUONData* fMUONData; //! Data container for MUON subsystem |
1195fa7b | 76 | |
1195fa7b | 77 | AliLoader* fLoader; //! alice loader |
1195fa7b | 78 | |
a2da7817 | 79 | FILE* fFile[2]; //! DDL binary file pointer one per 1/2 chamber |
69be760c | 80 | |
e79761f1 | 81 | TClonesArray* fSubEventArray; //! array to sub event tracker |
ce6a659c | 82 | |
e79761f1 | 83 | AliMUONDDLTracker* fDDLTracker; //! DDL tracker class pointers |
84 | AliMUONDDLTrigger* fDDLTrigger; //! DDL trigger class pointers | |
69be760c | 85 | |
e79761f1 | 86 | TExMap fDetElemIdToBusPatch; //! Map from idDE to BusPatch |
87 | TExMap fBusPatchToDetElem; //! Map from BusPatch to idDE | |
12098105 | 88 | TExMap fBusPatchToDDL; //! Map from BusPatch to iDDL |
89 | ||
90 | Int_t fMaxBusPerCh[10]; //! max buspatch number per chamber | |
a2da7817 | 91 | |
69be760c | 92 | // writing raw data |
93 | Int_t WriteTrackerDDL(Int_t iCh); | |
94 | Int_t WriteTriggerDDL(); | |
f6762c71 | 95 | |
a2da7817 | 96 | void ReadBusPatchFile(); |
1197ff51 | 97 | |
98 | ClassDef(AliMUONRawData,1) // MUON cluster reconstructor in ALICE | |
f6762c71 | 99 | }; |
100 | ||
101 | #endif |