]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONDigitMaker.h
Corrected Doxygen warnings:
[u/mrichter/AliRoot.git] / MUON / AliMUONDigitMaker.h
1 #ifndef ALIMUONDIGITMAKER_H
2 #define ALIMUONDIGITMAKER_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 base
9 /// \class AliMUONDigitMaker
10 /// \brief Reading Raw data class for trigger and tracker chambers
11 ///
12 //  Author: Ch, Finck
13
14 #include <TObject.h>
15 #include "TStopwatch.h"
16 class AliRawReader;
17 class AliMUONData;
18 class AliMUONDigit;
19 class AliMUONGlobalTrigger;
20 class AliMUONLocalTrigger;
21 class AliMUONTriggerCrateStore;
22 class AliMUONLocalTriggerBoard;
23 class AliMUONLocalStruct;
24
25 class AliMUONRawStreamTracker;
26 class AliMUONRawStreamTrigger;
27
28 class AliMUONDigitMaker : public TObject 
29 {
30  public:
31   AliMUONDigitMaker(Bool_t digit = kTRUE); // Constructor
32   virtual ~AliMUONDigitMaker(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          /// Return MUON data
41   AliMUONData*   GetMUONData() const {return fMUONData;}
42         /// Set MUON data
43   void SetMUONData(AliMUONData* data) {fMUONData = data;}
44  
45   Int_t GetMapping(Int_t buspatchId, UShort_t manuId, 
46                           UChar_t channelId, AliMUONDigit* digit );
47
48   Int_t TriggerDigits(AliMUONLocalTriggerBoard* localBoard, 
49                       AliMUONLocalStruct* localStruct, TList& digitList );
50
51   void GetTriggerChamber(AliMUONLocalStruct* localStruct, 
52                          Int_t& xyPattern, Int_t& iChamber, Int_t& iCath, Int_t iCase );
53
54         /// Set flag to generates scaler event
55   void  SetScalerEvent() {fScalerEvent = kTRUE;}
56
57       /// Disable trigger rawdata reading
58   void  DisableTrigger() {fTriggerFlag = kFALSE;}
59
60         /// Set Crate array
61   void  SetCrateManager(AliMUONTriggerCrateStore* crateManager) {fCrateManager =  crateManager;}
62
63  private:
64
65   AliMUONData*     fMUONData;          //!< Data container for MUON subsystem 
66   
67   Bool_t           fScalerEvent;       //!< flag to generates scaler event
68
69   Bool_t           fDigitFlag;        //!< true for Digit, false for SDigit
70
71   Bool_t           fTriggerFlag;       //!< true for reading also trigger rawdata
72
73   AliMUONRawStreamTracker* fRawStreamTracker;  //!< pointer of raw stream for tracker
74   AliMUONRawStreamTrigger* fRawStreamTrigger;  //!< pointer of raw stream for trigger
75
76   AliMUONDigit*        fDigit;                 //!< pointer to digits
77
78   AliMUONLocalTrigger*  fLocalTrigger;         //!< pointer to local trigger
79   AliMUONGlobalTrigger* fGlobalTrigger;        //!< pointer to local trigger
80
81   AliMUONTriggerCrateStore* fCrateManager;     //!< Crate array
82
83   TStopwatch fTrackerTimer;                    //!< time watcher for tracker part
84   TStopwatch fTriggerTimer;                    //!< time watcher for trigger part
85   TStopwatch fMappingTimer;                    //!< time watcher for mapping-tracker part
86
87   AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor
88   AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator
89
90   void GetCrateName(Char_t* name, Int_t iDDL, Int_t iReg) const;
91
92   ClassDef(AliMUONDigitMaker,1) // MUON digit maker from rawdata
93 };
94         
95 #endif