Separating writing and reading of raw data (Christian)
[u/mrichter/AliRoot.git] / MUON / AliMUONRawReader.h
1 #ifndef ALIMUONRAWREADER_H
2 #define ALIMUONRAWREADER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /*$Id$*/
7
8 /// \ingroup rec
9 /// \class AliMUONRawReader
10 /// \brief Raw data class for trigger and tracker chambers
11 ///
12 /// Readding Raw data class for trigger and tracker chambers
13
14 #include <TObject.h>
15 #include "AliMpBusPatch.h"
16
17 class TClonesArray;
18 class TArrayI;
19 class AliLoader;
20 class AliMUONData;
21 class AliMUONDigit;
22 class AliMUONDDLTracker;
23 class AliMUONDDLTrigger;
24 class AliMUONGlobalTrigger;
25 class AliRawReader;
26 class AliMpSegFactory;
27
28 class AliMUONRawReader : public TObject 
29 {
30  public:
31   AliMUONRawReader(AliLoader* loader, AliMUONData* data); // Constructor
32   virtual ~AliMUONRawReader(void); // Destructor
33     
34   // write raw data
35   Int_t   Raw2Digits(AliRawReader* rawReader);
36
37   Int_t ReadTrackerDDL(AliRawReader* rawReader);
38   Int_t ReadTriggerDDL(AliRawReader* rawReader);
39
40   AliMUONData*   GetMUONData() {return fMUONData;}
41
42   Int_t GetMapping(Int_t buspatchId, UShort_t manuId, 
43                           UChar_t channelId, AliMUONDigit* digit );
44
45   AliMUONGlobalTrigger* GetGlobalTriggerPattern(Int_t gloTrg) const;
46
47
48  protected:
49   AliMUONRawReader();                  // Default constructor
50   AliMUONRawReader (const AliMUONRawReader& rhs); // copy constructor
51   AliMUONRawReader& operator=(const AliMUONRawReader& rhs); // assignment operator
52
53  private:
54
55   AliMUONData*  fMUONData;           //! Data container for MUON subsystem 
56  
57   AliLoader*    fLoader;             //! alice loader
58  
59   AliMpSegFactory* fSegFactory;      //! Mapping segmentation factory
60
61    
62   AliMUONDDLTracker* fDDLTracker;    //! DDL tracker class pointers
63   AliMUONDDLTrigger* fDDLTrigger;    //! DDL trigger class pointers
64
65   AliMpBusPatch* fBusPatchManager;    //! buspatch versus DE's & DDL
66
67   ClassDef(AliMUONRawReader,1) // MUON cluster reconstructor in ALICE
68 };
69         
70 #endif