]>
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 | |
8741815f | 11 | /// \brief Creator of raw AliMUONVTrackerData from AliRawReader |
0145e89a | 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; | |
0145e89a | 23 | class AliMUONVStore; |
8741815f | 24 | class AliMUONVTrackerData; |
0145e89a | 25 | |
26 | class AliMUONTrackerRawDataMaker : public AliMUONVTrackerDataMaker | |
27 | { | |
28 | public: | |
49419555 | 29 | AliMUONTrackerRawDataMaker(AliRawReader* reader = 0x0, |
30 | Bool_t histogram=kFALSE, | |
31 | Bool_t useHPdecoder=kFALSE); | |
0145e89a | 32 | virtual ~AliMUONTrackerRawDataMaker(); |
33 | ||
9016a84e | 34 | /// Whether we have a valid raw reader |
0145e89a | 35 | Bool_t IsValid() const { return fRawReader != 0x0; } |
36 | ||
9016a84e | 37 | /// Our data |
0145e89a | 38 | AliMUONVTrackerData* Data() const { return fAccumulatedData; } |
39 | ||
49419555 | 40 | /// Whether we're only handling event-by-event data (i.e. no accumulation) |
41 | virtual Bool_t IsEventByEvent() const { return fIsEventByEvent; } | |
42 | ||
43 | /// Set event-by-event mode | |
44 | virtual void SetEventByEvent(Bool_t flag) { fIsEventByEvent = flag; } | |
45 | ||
46 | /// We can be run if we have a reader | |
47 | virtual Bool_t IsRunnable() const { return IsValid(); } | |
0145e89a | 48 | |
9016a84e | 49 | /// Whether we are running or not |
0145e89a | 50 | virtual Bool_t IsRunning() const { return fIsRunning; } |
51 | ||
9016a84e | 52 | /// Set the running status |
0145e89a | 53 | virtual void SetRunning(Bool_t flag) { fIsRunning = flag; } |
54 | ||
55 | Bool_t NextEvent(); | |
56 | ||
57 | void Print(Option_t* opt="") const; | |
58 | ||
59 | void Rewind(); | |
60 | ||
9016a84e | 61 | /// Get our source URI |
0145e89a | 62 | virtual TString Source() const { return fSource.Data(); } |
63 | ||
9016a84e | 64 | /// Set our source URI |
0145e89a | 65 | void SetSource(const char* source) { fSource = source; } |
66 | ||
d59411b9 | 67 | /// Number of events seen |
8741815f | 68 | Int_t NumberOfEvents() const { return fNumberOfEvents; } |
d59411b9 | 69 | |
49419555 | 70 | Long64_t Merge(TCollection* li); |
71 | ||
0145e89a | 72 | private: |
73 | /// Not implemented | |
74 | AliMUONTrackerRawDataMaker(const AliMUONTrackerRawDataMaker& rhs); | |
75 | /// Not implemented | |
76 | AliMUONTrackerRawDataMaker& operator=(const AliMUONTrackerRawDataMaker& rhs); | |
77 | ||
0145e89a | 78 | private: |
49419555 | 79 | AliRawReader* fRawReader; //!< reader of the data (owner) |
80 | AliMUONVTrackerData* fAccumulatedData; ///< data (owner) | |
0145e89a | 81 | AliMUONVStore* fOneEventData; ///< data for one event (owner) |
0145e89a | 82 | TString fSource; ///< where the data comes from |
83 | Bool_t fIsRunning; ///< whether we are running or are paused | |
d59411b9 | 84 | Int_t fNumberOfEvents; ///< number of events seen |
49419555 | 85 | Int_t fRunNumber; ///< run number of the data |
86 | Bool_t fIsEventByEvent; ///< we only keep one event's data (no accumulation) | |
87 | Bool_t fUseHPDecoder; ///< whether to use high performance decoder or not (false by default) | |
0145e89a | 88 | static Int_t fgkCounter; ///< to count the number of instances |
89 | ||
49419555 | 90 | ClassDef(AliMUONTrackerRawDataMaker,3) // Producer of AliMUONVTrackerData from raw data |
0145e89a | 91 | }; |
92 | ||
93 | #endif |