]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONDigitMaker.h
Implemented Raw2SDigits method for tracker (Christian)
[u/mrichter/AliRoot.git] / MUON / AliMUONDigitMaker.h
CommitLineData
a3283a4c 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
241560c2 8/// \ingroup base
a3283a4c 9/// \class AliMUONDigitMaker
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
a3283a4c 17class AliMpBusPatch;
18class AliMUONData;
19class AliMUONDigit;
20class AliMUONGlobalTrigger;
21class AliMUONLocalTrigger;
d53fb0de 22class AliMUONTriggerCrateStore;
a3283a4c 23
24class AliMpSegFactory;
25class AliMUONRawStreamTracker;
26class AliMUONRawStreamTrigger;
27
28class AliMUONDigitMaker : public TObject
29{
30 public:
241560c2 31 AliMUONDigitMaker(Bool_t digit = kTRUE); // Constructor
a3283a4c 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 AliMUONData* GetMUONData() const {return fMUONData;}
41 void SetMUONData(AliMUONData* data) {fMUONData = data;}
42
43 Int_t GetMapping(Int_t buspatchId, UShort_t manuId,
44 UChar_t channelId, AliMUONDigit* digit );
45
46 void SetScalerEvent() {fScalerEvent = kTRUE;}
47
a3283a4c 48 private:
49
829425a5 50 AliMUONData* fMUONData; //!< Data container for MUON subsystem
a3283a4c 51
829425a5 52 AliMpSegFactory* fSegFactory; //!< Mapping segmentation factory
a3283a4c 53
829425a5 54 AliMpBusPatch* fBusPatchManager; //!< buspatch versus DE's & DDL
a3283a4c 55
829425a5 56 Bool_t fScalerEvent; //!< flag to generates scaler event
a3283a4c 57
241560c2 58 Bool_t fDigitFlag; //!< true for Digit, false for SDigit
59
829425a5 60 AliMUONRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker
61 AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger
a3283a4c 62
ce373c77 63 AliMUONDigit* fDigit; //!< pointer to digits
a3283a4c 64
ce373c77 65 AliMUONLocalTrigger* fLocalTrigger; //!< pointer to local trigger
66 AliMUONGlobalTrigger* fGlobalTrigger; //!< pointer to local trigger
a3283a4c 67
d53fb0de 68 AliMUONTriggerCrateStore* fCrateManager; //!< Crate array
69
ce373c77 70 TStopwatch fTrackerTimer; //!< time watcher for tracker part
71 TStopwatch fTriggerTimer; //!< time watcher for trigger part
72 TStopwatch fMappingTimer; //!< time watcher for mapping-tracker part
a3283a4c 73
9f5dcca3 74 AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor
75 AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator
76
d53fb0de 77 void GetCrateName(Char_t* name, Int_t iDDL, Int_t iReg);
78
a3283a4c 79 ClassDef(AliMUONDigitMaker,1) // MUON digit maker from rawdata
80};
81
82#endif