]>
Commit | Line | Data |
---|---|---|
0145e89a | 1 | #ifndef ALIMUONTRACKERRAWDATAMAKER_H |
2 | #define ALIMUONTRACKERRAWDATAMAKER_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | // $Id$ | |
8 | ||
9 | /// \ingroup graphics | |
10 | /// \class AliMUONTrackerRawDataMaker | |
11 | /// \brief Creator of AliMUONVTrackerData from AliRawReader | |
12 | /// | |
13 | // Author Laurent Aphecetche, Subatech | |
14 | ||
15 | #ifndef ALIMUONVTRACKERDATAMAKER_H | |
16 | # include "AliMUONVTrackerDataMaker.h" | |
17 | #endif | |
18 | #ifndef ROOT_TString | |
19 | # include "TString.h" | |
20 | #endif | |
21 | ||
22 | class AliRawReader; | |
23 | class AliMUONCalibrationData; | |
24 | class AliMUONDigitCalibrator; | |
25 | class AliMUONDigitMaker; | |
26 | class AliMUONVTrackerData; | |
27 | class AliMUONVStore; | |
28 | class AliMUONVDigitStore; | |
29 | ||
30 | class AliMUONTrackerRawDataMaker : public AliMUONVTrackerDataMaker | |
31 | { | |
32 | public: | |
33 | AliMUONTrackerRawDataMaker(AliRawReader* reader = 0x0, const char* cdbpath=0x0); | |
34 | virtual ~AliMUONTrackerRawDataMaker(); | |
35 | ||
9016a84e | 36 | /// Whether we have a valid raw reader |
0145e89a | 37 | Bool_t IsValid() const { return fRawReader != 0x0; } |
38 | ||
9016a84e | 39 | /// Our data |
0145e89a | 40 | AliMUONVTrackerData* Data() const { return fAccumulatedData; } |
41 | ||
9016a84e | 42 | /// We can be run |
0145e89a | 43 | virtual Bool_t IsRunnable() const { return kTRUE; } |
44 | ||
9016a84e | 45 | /// Whether we are running or not |
0145e89a | 46 | virtual Bool_t IsRunning() const { return fIsRunning; } |
47 | ||
9016a84e | 48 | /// Set the running status |
0145e89a | 49 | virtual void SetRunning(Bool_t flag) { fIsRunning = flag; } |
50 | ||
51 | Bool_t NextEvent(); | |
52 | ||
53 | void Print(Option_t* opt="") const; | |
54 | ||
55 | void Rewind(); | |
56 | ||
9016a84e | 57 | /// Tell if we are owner of our data or not |
0145e89a | 58 | void SetOwner(Bool_t flag) { fIsOwner = flag; } |
59 | ||
9016a84e | 60 | /// Get our source URI |
0145e89a | 61 | virtual TString Source() const { return fSource.Data(); } |
62 | ||
9016a84e | 63 | /// Set our source URI |
0145e89a | 64 | void SetSource(const char* source) { fSource = source; } |
65 | ||
9016a84e | 66 | /// Get our digit store |
0145e89a | 67 | AliMUONVDigitStore* DigitStore() const { return fDigitStore; } |
68 | ||
69 | private: | |
70 | /// Not implemented | |
71 | AliMUONTrackerRawDataMaker(const AliMUONTrackerRawDataMaker& rhs); | |
72 | /// Not implemented | |
73 | AliMUONTrackerRawDataMaker& operator=(const AliMUONTrackerRawDataMaker& rhs); | |
74 | ||
75 | void ConvertDigits(); | |
76 | ||
77 | private: | |
78 | AliRawReader* fRawReader; ///< reader of the data (owner) | |
79 | AliMUONVTrackerData* fAccumulatedData; ///< data (owner if fIsOwner==kTRUE) | |
80 | AliMUONVStore* fOneEventData; ///< data for one event (owner) | |
81 | Bool_t fIsOwner; ///< whether we are owner of our data or not | |
82 | TString fSource; ///< where the data comes from | |
83 | Bool_t fIsRunning; ///< whether we are running or are paused | |
84 | AliMUONDigitMaker* fDigitMaker; ///< digit maker | |
85 | AliMUONDigitCalibrator* fDigitCalibrator; ///< digit calibrator (if calibrating data) | |
86 | AliMUONCalibrationData* fCalibrationData; ///< calibration data (if calibrating data) | |
87 | AliMUONVDigitStore* fDigitStore; ///< digit store (if calibrating data) | |
88 | TString fCDBPath; ///< OCDB path (if calibrating data) | |
89 | static Int_t fgkCounter; ///< to count the number of instances | |
90 | ||
91 | ClassDef(AliMUONTrackerRawDataMaker,1) // Producer of AliMUONVTrackerData from raw data | |
92 | }; | |
93 | ||
94 | #endif |