]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONRawReader.h
Additional protection in case of negative indexes. More investigation is needed
[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 "TStopwatch.h"
16
17 class AliMpBusPatch;
18 class AliMUONData;
19 class AliMUONDigit;
20 class AliMUONDDLTracker;
21 class AliMUONDDLTrigger;
22 class AliMUONGlobalTrigger;
23 class AliRawReader;
24 class AliMpSegFactory;
25
26 class AliMUONRawReader : public TObject 
27 {
28  public:
29   AliMUONRawReader(AliMUONData* data); // Constructor
30   virtual ~AliMUONRawReader(void); // Destructor
31     
32   // write raw data
33   Int_t   Raw2Digits(AliRawReader* rawReader);
34
35   Int_t ReadTrackerDDL(AliRawReader* rawReader);
36   Int_t ReadTriggerDDL(AliRawReader* rawReader);
37
38   AliMUONData*   GetMUONData() {return fMUONData;}
39
40   Int_t GetMapping(Int_t buspatchId, UShort_t manuId, 
41                           UChar_t channelId, AliMUONDigit* digit );
42
43   AliMUONGlobalTrigger* GetGlobalTriggerPattern(Int_t gloTrg) const;
44
45   void  SetScalerEvent() {fScalerEvent = kTRUE;}
46
47  protected:
48   AliMUONRawReader();                  // Default constructor
49   AliMUONRawReader (const AliMUONRawReader& rhs); // copy constructor
50   AliMUONRawReader& operator=(const AliMUONRawReader& rhs); // assignment operator
51
52  private:
53
54   AliMUONData*  fMUONData;           //! Data container for MUON subsystem 
55  
56   AliMpSegFactory* fSegFactory;      //! Mapping segmentation factory
57    
58   AliMUONDDLTracker* fDDLTracker;    //! DDL tracker class pointers
59   AliMUONDDLTrigger* fDDLTrigger;    //! DDL trigger class pointers
60
61   AliMpBusPatch* fBusPatchManager;   //! buspatch versus DE's & DDL
62
63   Bool_t fScalerEvent;               // flag to generates scaler event
64
65   TStopwatch fTrackerTimer; //!
66   TStopwatch fTriggerTimer; //!
67   TStopwatch fMappingTimer; //!
68   
69   ClassDef(AliMUONRawReader,0) // MUON cluster reconstructor in ALICE
70 };
71         
72 #endif