]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRawData.h
Raw2Digits method implementation (Indranil & Christian)
[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;
ce6a659c 20class AliMUONGlobalTrigger;
f6762c71 21
22class AliMUONRawData : public TObject
23{
24 public:
25 AliMUONRawData(AliLoader* loader); // Constructor
26 virtual ~AliMUONRawData(void); // Destructor
27
28 // write raw data
1197ff51 29 Int_t Digits2Raw();
30 Int_t Raw2Digits(AliRawReader* rawReader);
f6762c71 31
32 AliMUONData* GetMUONData() {return fMUONData;}
33
1195fa7b 34 void AddData1(const AliMUONSubEventTracker* event) {
69be760c 35 TClonesArray &temp = *fSubEventArray[0];
36 new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event);
37 }
38
1195fa7b 39 void AddData2(const AliMUONSubEventTracker* event) {
69be760c 40 TClonesArray &temp = *fSubEventArray[1];
41 new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event);
42 }
43
44 void GetDummyMapping(Int_t iCh, Int_t iCath, const AliMUONDigit* digit, Int_t &busPatchId,
f1501d74 45 UShort_t &manuId, UChar_t &channelId);
69be760c 46
1197ff51 47 void GetInvDummyMapping(Int_t iCh, Int_t buspatchId, UShort_t manuId,
48 UChar_t channelId, AliMUONDigit* digit );
49
50
1195fa7b 51 Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg);
ce6a659c 52 AliMUONGlobalTrigger* GetGlobalTriggerPattern(Int_t gloTrg);
69be760c 53
f6762c71 54 protected:
55 AliMUONRawData(); // Default constructor
56 AliMUONRawData (const AliMUONRawData& rhs); // copy constructor
57 AliMUONRawData& operator=(const AliMUONRawData& rhs); // assignment operator
58
59 private:
f6762c71 60
1195fa7b 61 AliMUONData* fMUONData; //! Data container for MUON subsystem
1195fa7b 62
1195fa7b 63 AliLoader* fLoader; //! alice loader
1195fa7b 64
65 FILE* fFile1; //! DDL binary file pointer one per 1/2 chamber
66 FILE* fFile2; //! DDL binary file pointer one per 1/2 chamber
69be760c 67
1195fa7b 68 TClonesArray* fSubEventArray[2]; //! array to sub event tracker
ce6a659c 69
1195fa7b 70 AliMUONDDLTracker* fDDLTracker; //! DDL tracker class pointers
71 AliMUONDDLTrigger* fDDLTrigger; //! DDL trigger class pointers
69be760c 72
73 // writing raw data
74 Int_t WriteTrackerDDL(Int_t iCh);
75 Int_t WriteTriggerDDL();
f6762c71 76
1197ff51 77 Int_t ReadTrackerDDL(AliRawReader* rawReader);
78 Int_t ReadTriggerDDL(AliRawReader* rawReader);
79
80 ClassDef(AliMUONRawData,1) // MUON cluster reconstructor in ALICE
f6762c71 81};
82
83#endif