]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONRawData.h
Realistic raw data format for tracker (Christian)
[u/mrichter/AliRoot.git] / MUON / AliMUONRawData.h
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
6 #include <TObject.h>
7 #include "AliMUONSubEventTracker.h"
8 #include "AliMUONSubEventTrigger.h"
9
10 class TClonesArray;
11 class AliLoader;
12 class AliMUONData;
13 class AliMUONDigit;
14 class AliMUONDDLTracker;
15 class AliMUONDDLTrigger;
16
17 //class AliMUONTriggerDecision;
18
19 class AliMUONRawData : public TObject 
20 {
21  public:
22   AliMUONRawData(AliLoader* loader); // Constructor
23   virtual ~AliMUONRawData(void); // Destructor
24     
25   // write raw data
26   Int_t   WriteRawData();
27
28   AliMUONData*   GetMUONData() {return fMUONData;}
29
30   Int_t GetPrintLevel(void) const {return fPrintLevel;}
31   void SetPrintLevel(Int_t printLevel) {fPrintLevel = printLevel;}
32
33   void AddData1(AliMUONSubEventTracker* event) {
34     TClonesArray &temp = *fSubEventArray[0];
35     new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event); 
36   }
37
38   void AddData2(AliMUONSubEventTracker* event) {
39     TClonesArray &temp = *fSubEventArray[1];
40     new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event); 
41   }
42
43   void GetDummyMapping(Int_t iCh, Int_t iCath, const AliMUONDigit* digit, Int_t &busPatchId,
44                        UShort_t &manuId, UChar_t &channelId, UShort_t &charge);
45
46
47  protected:
48   AliMUONRawData();                  // Default constructor
49   AliMUONRawData (const AliMUONRawData& rhs); // copy constructor
50   AliMUONRawData& operator=(const AliMUONRawData& rhs); // assignment operator
51
52  private:
53   static const Int_t fgkDefaultPrintLevel;     // Default print level
54
55
56   AliMUONData*            fMUONData;           //! Data container for MUON subsystem 
57 /*   AliMUONTriggerDecision* fTrigDec;            //! calculated trigger from digits tmp solution */
58 /*   AliMUONData*            fTrigData; */
59
60  // print level
61   Int_t fPrintLevel;
62
63   // debug
64   Int_t fDebug;
65   
66   // alice loader
67   AliLoader* fLoader;
68
69   // DDL binary file pointer one per 1/2 chamber
70   FILE* fFile1;
71   FILE* fFile2;
72
73   // array to sub event tracker
74   TClonesArray* fSubEventArray[2];
75
76   // array to sub event trigger
77   TClonesArray* fSubEventTrigArray[2];
78
79   // DDL class pointers
80   AliMUONDDLTracker* fDDLTracker;
81   AliMUONDDLTrigger* fDDLTrigger;
82
83   // writing raw data
84   Int_t WriteTrackerDDL(Int_t iCh);
85   Int_t WriteTriggerDDL();
86
87   ClassDef(AliMUONRawData,0) // MUON cluster reconstructor in ALICE
88 };
89         
90 #endif