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