]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRawData.h
Suppressed warning from fkSegmentation->PadByPosition(...)
[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
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 18class TClonesArray;
a2da7817 19class TArrayI;
f6762c71 20class AliLoader;
21class AliMUONData;
22class AliMUONDigit;
23class AliMUONDDLTracker;
69be760c 24class AliMUONDDLTrigger;
c8b4255f 25class AliMUONGlobalTrigger;
1195fa7b 26class AliMUONSubEventTrigger;
1197ff51 27class AliRawReader;
ce6a659c 28class AliMUONGlobalTrigger;
19d60750 29class AliMpSegFactory;
f6762c71 30
31class AliMUONRawData : public TObject
32{
33 public:
29cac82a 34 AliMUONRawData(AliLoader* loader, AliMUONData* data); // Constructor
f6762c71 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