Record changes.
[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;
d2d759cf 23class AliMUONLocalTriggerBoard;
24class AliMUONLocalStruct;
a3283a4c 25
a3283a4c 26class AliMUONRawStreamTracker;
27class AliMUONRawStreamTrigger;
28
29class AliMUONDigitMaker : public TObject
30{
31 public:
241560c2 32 AliMUONDigitMaker(Bool_t digit = kTRUE); // Constructor
a3283a4c 33 virtual ~AliMUONDigitMaker(void); // Destructor
34
35 // write raw data
36 Int_t Raw2Digits(AliRawReader* rawReader);
37
38 Int_t ReadTrackerDDL(AliRawReader* rawReader);
39 Int_t ReadTriggerDDL(AliRawReader* rawReader);
9265505b 40
41 /// Return MUON data
a3283a4c 42 AliMUONData* GetMUONData() const {return fMUONData;}
9265505b 43 /// Set MUON data
a3283a4c 44 void SetMUONData(AliMUONData* data) {fMUONData = data;}
45
46 Int_t GetMapping(Int_t buspatchId, UShort_t manuId,
47 UChar_t channelId, AliMUONDigit* digit );
48
d2d759cf 49 Int_t TriggerDigits(AliMUONLocalTriggerBoard* localBoard,
50 AliMUONLocalStruct* localStruct, TList& digitList );
51
52 void GetTriggerChamber(AliMUONLocalStruct* localStruct,
53 Int_t& xyPattern, Int_t& iChamber, Int_t& iCath, Int_t iCase );
54
9265505b 55 /// Set flag to generates scaler event
a3283a4c 56 void SetScalerEvent() {fScalerEvent = kTRUE;}
57
9265505b 58 /// Set Crate array
fe5010dd 59 void SetCrateManager(AliMUONTriggerCrateStore* crateManager) {fCrateManager = crateManager;}
60
a3283a4c 61 private:
62
829425a5 63 AliMUONData* fMUONData; //!< Data container for MUON subsystem
a3283a4c 64
829425a5 65 AliMpBusPatch* fBusPatchManager; //!< buspatch versus DE's & DDL
a3283a4c 66
829425a5 67 Bool_t fScalerEvent; //!< flag to generates scaler event
a3283a4c 68
241560c2 69 Bool_t fDigitFlag; //!< true for Digit, false for SDigit
70
829425a5 71 AliMUONRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker
72 AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger
a3283a4c 73
ce373c77 74 AliMUONDigit* fDigit; //!< pointer to digits
a3283a4c 75
ce373c77 76 AliMUONLocalTrigger* fLocalTrigger; //!< pointer to local trigger
77 AliMUONGlobalTrigger* fGlobalTrigger; //!< pointer to local trigger
a3283a4c 78
d53fb0de 79 AliMUONTriggerCrateStore* fCrateManager; //!< Crate array
80
ce373c77 81 TStopwatch fTrackerTimer; //!< time watcher for tracker part
82 TStopwatch fTriggerTimer; //!< time watcher for trigger part
83 TStopwatch fMappingTimer; //!< time watcher for mapping-tracker part
a3283a4c 84
9f5dcca3 85 AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor
86 AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator
87
d53fb0de 88 void GetCrateName(Char_t* name, Int_t iDDL, Int_t iReg);
89
a3283a4c 90 ClassDef(AliMUONDigitMaker,1) // MUON digit maker from rawdata
91};
92
93#endif