- Removed not implemented methods AddData(), GetGlobalTriggerPattern
[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
78649106 10/// \brief Reading Raw data class for trigger and tracker chambers
a3283a4c 11///
78649106 12// Author: Ch, Finck
a3283a4c 13
14#include <TObject.h>
15#include "TStopwatch.h"
00e86732 16class AliRawReader;
a3283a4c 17class AliMUONData;
18class AliMUONDigit;
19class AliMUONGlobalTrigger;
20class AliMUONLocalTrigger;
d53fb0de 21class AliMUONTriggerCrateStore;
d2d759cf 22class AliMUONLocalTriggerBoard;
23class AliMUONLocalStruct;
a3283a4c 24
a3283a4c 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);
9265505b 39
40 /// Return MUON data
a3283a4c 41 AliMUONData* GetMUONData() const {return fMUONData;}
9265505b 42 /// Set MUON data
a3283a4c 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
d2d759cf 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
9265505b 54 /// Set flag to generates scaler event
a3283a4c 55 void SetScalerEvent() {fScalerEvent = kTRUE;}
56
e604ac4c 57 /// Disable trigger rawdata reading
58 void DisableTrigger() {fTriggerFlag = kFALSE;}
59
9265505b 60 /// Set Crate array
fe5010dd 61 void SetCrateManager(AliMUONTriggerCrateStore* crateManager) {fCrateManager = crateManager;}
62
a3283a4c 63 private:
64
829425a5 65 AliMUONData* fMUONData; //!< Data container for MUON subsystem
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
e604ac4c 71 Bool_t fTriggerFlag; //!< true for reading also trigger rawdata
72
829425a5 73 AliMUONRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker
74 AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger
a3283a4c 75
ce373c77 76 AliMUONDigit* fDigit; //!< pointer to digits
a3283a4c 77
ce373c77 78 AliMUONLocalTrigger* fLocalTrigger; //!< pointer to local trigger
79 AliMUONGlobalTrigger* fGlobalTrigger; //!< pointer to local trigger
a3283a4c 80
d53fb0de 81 AliMUONTriggerCrateStore* fCrateManager; //!< Crate array
82
ce373c77 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
a3283a4c 86
9f5dcca3 87 AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor
88 AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator
89
00e86732 90 void GetCrateName(Char_t* name, Int_t iDDL, Int_t iReg) const;
d53fb0de 91
a3283a4c 92 ClassDef(AliMUONDigitMaker,1) // MUON digit maker from rawdata
93};
94
95#endif