]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONRawData.h
20-sep-2005 NvE Dummy values 0 set for KAPPA-ADC and KAPPA-TOT for OMs in IceCal2Root
[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 /* Raw data class for trigger and tracker chambers */
7
8 #include <TObject.h>
9 #include "AliMUONSubEventTracker.h"
10
11 class TClonesArray;
12 class AliLoader;
13 class AliMUONData;
14 class AliMUONDigit;
15 class AliMUONDDLTracker;
16 class AliMUONDDLTrigger;
17 class AliMUONGlobalTrigger;
18 class AliMUONSubEventTrigger;
19 class AliRawReader;
20 class AliMUONGlobalTrigger;
21
22 class AliMUONRawData : public TObject 
23 {
24  public:
25   AliMUONRawData(AliLoader* loader); // Constructor
26   virtual ~AliMUONRawData(void); // Destructor
27     
28   // write raw data
29   Int_t   Digits2Raw();
30   Int_t   Raw2Digits(AliRawReader* rawReader);
31
32   AliMUONData*   GetMUONData() {return fMUONData;}
33
34   void AddData1(const AliMUONSubEventTracker* event) {
35     TClonesArray &temp = *fSubEventArray[0];
36     new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event); 
37   }
38
39   void AddData2(const AliMUONSubEventTracker* event) {
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,
45                        UShort_t &manuId, UChar_t &channelId);
46
47   void GetInvDummyMapping(Int_t iCh, Int_t buspatchId, UShort_t manuId, 
48                           UChar_t channelId, AliMUONDigit* digit );
49
50
51   Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg);
52   AliMUONGlobalTrigger* GetGlobalTriggerPattern(Int_t gloTrg);
53
54  protected:
55   AliMUONRawData();                  // Default constructor
56   AliMUONRawData (const AliMUONRawData& rhs); // copy constructor
57   AliMUONRawData& operator=(const AliMUONRawData& rhs); // assignment operator
58
59  private:
60
61   AliMUONData*  fMUONData;           //! Data container for MUON subsystem 
62  
63   AliLoader*    fLoader;             //! alice loader
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
67
68   TClonesArray* fSubEventArray[2];   //! array to sub event tracker
69    
70   AliMUONDDLTracker* fDDLTracker;      //! DDL tracker class pointers
71   AliMUONDDLTrigger* fDDLTrigger;      //! DDL trigger class pointers
72
73   // writing raw data
74   Int_t WriteTrackerDDL(Int_t iCh);
75   Int_t WriteTriggerDDL();
76
77   Int_t ReadTrackerDDL(AliRawReader* rawReader);
78   Int_t ReadTriggerDDL(AliRawReader* rawReader);
79
80   ClassDef(AliMUONRawData,1) // MUON cluster reconstructor in ALICE
81 };
82         
83 #endif