]>
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 | ||
f6762c71 | 43 | AliMUONData* GetMUONData() {return fMUONData;} |
44 | ||
a2da7817 | 45 | void AddData(const AliMUONSubEventTracker* event) { |
46 | TClonesArray &temp = *fSubEventArray; | |
69be760c | 47 | new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event); |
48 | } | |
49 | ||
69be760c | 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 | ||
58 | ||
e79761f1 | 59 | Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg) const; |
60 | AliMUONGlobalTrigger* GetGlobalTriggerPattern(Int_t gloTrg) const; | |
69be760c | 61 | |
a2da7817 | 62 | Int_t GetDEfromBus(Int_t busPatchId); |
63 | TArrayI* GetBusfromDE(Int_t idDE); | |
64 | ||
f6762c71 | 65 | protected: |
66 | AliMUONRawData(); // Default constructor | |
67 | AliMUONRawData (const AliMUONRawData& rhs); // copy constructor | |
68 | AliMUONRawData& operator=(const AliMUONRawData& rhs); // assignment operator | |
69 | ||
70 | private: | |
f6762c71 | 71 | |
1195fa7b | 72 | AliMUONData* fMUONData; //! Data container for MUON subsystem |
1195fa7b | 73 | |
1195fa7b | 74 | AliLoader* fLoader; //! alice loader |
1195fa7b | 75 | |
a2da7817 | 76 | FILE* fFile[2]; //! DDL binary file pointer one per 1/2 chamber |
69be760c | 77 | |
e79761f1 | 78 | TClonesArray* fSubEventArray; //! array to sub event tracker |
ce6a659c | 79 | |
e79761f1 | 80 | AliMUONDDLTracker* fDDLTracker; //! DDL tracker class pointers |
81 | AliMUONDDLTrigger* fDDLTrigger; //! DDL trigger class pointers | |
69be760c | 82 | |
e79761f1 | 83 | TExMap fDetElemIdToBusPatch; //! Map from idDE to BusPatch |
84 | TExMap fBusPatchToDetElem; //! Map from BusPatch to idDE | |
a2da7817 | 85 | |
69be760c | 86 | // writing raw data |
87 | Int_t WriteTrackerDDL(Int_t iCh); | |
88 | Int_t WriteTriggerDDL(); | |
f6762c71 | 89 | |
a2da7817 | 90 | void ReadBusPatchFile(); |
1197ff51 | 91 | |
92 | ClassDef(AliMUONRawData,1) // MUON cluster reconstructor in ALICE | |
f6762c71 | 93 | }; |
94 | ||
95 | #endif |