]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONDigitMaker.h
First big commit of the mchview program and its accompanying library,
[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>
8a91c35f 15
7771752e 16class TArrayS;
8a91c35f 17
00e86732 18class AliRawReader;
d2d759cf 19class AliMUONLocalStruct;
a3283a4c 20
e3a2b9c9 21class AliMUONVRawStreamTracker;
a3283a4c 22class AliMUONRawStreamTrigger;
23
40e382ae 24class AliMUONVDigitStore;
25class AliMUONVTriggerStore;
26
0145e89a 27class AliMUONLogger;
28
a3283a4c 29class AliMUONDigitMaker : public TObject
30{
31 public:
d61f56df 32 AliMUONDigitMaker(Bool_t enableErrorLogger = kTRUE, Bool_t useFastDecoder = kFALSE); // Constructor
a3283a4c 33 virtual ~AliMUONDigitMaker(void); // Destructor
34
35 // write raw data
40e382ae 36 Int_t Raw2Digits(AliRawReader* rawReader,
37 AliMUONVDigitStore* digitContainer=0,
38 AliMUONVTriggerStore* triggerStore=0);
a3283a4c 39
40 Int_t ReadTrackerDDL(AliRawReader* rawReader);
41 Int_t ReadTriggerDDL(AliRawReader* rawReader);
40e382ae 42
43 Int_t TriggerDigits(Int_t nBoard, TArrayS* xyPattern,
44 AliMUONVDigitStore& digitStore) const;
d2d759cf 45
9265505b 46 /// Set flag to generates scaler event
40e382ae 47 void SetScalerEvent() { fScalerEvent = kTRUE; }
e604ac4c 48
40e382ae 49 /// Set flag whether or not we should generate digits for the trigger
50 void SetMakeTriggerDigits(Bool_t flag = kFALSE) { fMakeTriggerDigits = flag; }
8a91c35f 51
d61f56df 52 void SetFastDecoder(Bool_t useFastDecoder);
53
40e382ae 54private:
55
71a2d3aa 56 /// Not implemented
57 AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor
58 /// Not implemented
59 AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator
60
40e382ae 61private:
d61f56df 62 void CreateRawStreamTracker(Bool_t useFastDecoder);
8a91c35f 63
3c7f5307 64 Bool_t fScalerEvent; //!< flag to generates scaler event
40e382ae 65 Bool_t fMakeTriggerDigits; //!< whether or not we should generate digits for the trigger
66
e3a2b9c9 67 AliMUONVRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker
829425a5 68 AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger
a3283a4c 69
40e382ae 70 AliMUONVDigitStore* fDigitStore; //!< not owner
71 AliMUONVTriggerStore* fTriggerStore; //!< not owner
3c7f5307 72
0145e89a 73 AliMUONLogger* fLogger; //!< to log messages
74
75 ClassDef(AliMUONDigitMaker,6) // MUON digit maker from rawdata
a3283a4c 76};
77
78#endif