]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONRawData.h
Add realistic raw data format for trigger (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 class AliMUONGlobalTrigger;
17
18 class AliMUONRawData : public TObject 
19 {
20  public:
21   AliMUONRawData(AliLoader* loader); // Constructor
22   virtual ~AliMUONRawData(void); // Destructor
23     
24   // write raw data
25   Int_t   WriteRawData();
26
27   AliMUONData*   GetMUONData() {return fMUONData;}
28
29   Int_t GetPrintLevel(void) const {return fPrintLevel;}
30   void SetPrintLevel(Int_t printLevel) {fPrintLevel = printLevel;}
31
32   void AddData1(AliMUONSubEventTracker* event) {
33     TClonesArray &temp = *fSubEventArray[0];
34     new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event); 
35   }
36
37   void AddData2(AliMUONSubEventTracker* event) {
38     TClonesArray &temp = *fSubEventArray[1];
39     new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event); 
40   }
41
42   void GetDummyMapping(Int_t iCh, Int_t iCath, const AliMUONDigit* digit, Int_t &busPatchId,
43                        UShort_t &manuId, UChar_t &channelId, UShort_t &charge);
44
45   Int_t GetGlobalTriggerPattern(AliMUONGlobalTrigger* gloTrg);
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