]>
Commit | Line | Data |
---|---|---|
0145e89a | 1 | #ifndef ALIMUONVTRACKERDATAMAKER_H |
2 | #define ALIMUONVTRACKERDATAMAKER_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 | ||
4ef00a18 | 9 | /// \ingroup rec |
0145e89a | 10 | /// \class AliMUONVTrackerDataMaker |
11 | /// \brief Producer of some AliMUONVTrackerData | |
12 | /// | |
13 | // Author Laurent Aphecetche, Subatech | |
14 | ||
15 | #ifndef ROOT_TObject | |
16 | # include "TObject.h" | |
17 | #endif | |
18 | ||
19 | class AliMUONVTrackerData; | |
49419555 | 20 | class TCollection; |
0145e89a | 21 | |
22 | class AliMUONVTrackerDataMaker : public TObject | |
23 | { | |
24 | public: | |
25 | AliMUONVTrackerDataMaker(); | |
26 | virtual ~AliMUONVTrackerDataMaker(); | |
27 | ||
9016a84e | 28 | /// Whether we are valid or not |
0145e89a | 29 | virtual Bool_t IsValid() const = 0; |
30 | ||
9016a84e | 31 | /// Our data |
0145e89a | 32 | virtual AliMUONVTrackerData* Data() const = 0; |
33 | ||
b3d57767 | 34 | /// Whether or not we're the owner of our AliMUONVTrackerData |
35 | virtual void SetOwnerOfData(Bool_t /*flag*/) { } | |
36 | ||
9016a84e | 37 | /// Whether we can be run |
0145e89a | 38 | virtual Bool_t IsRunnable() const = 0; |
39 | ||
9016a84e | 40 | /// Whether we are running (must be false if IsRunnable is false) |
0145e89a | 41 | virtual Bool_t IsRunning() const = 0; |
42 | ||
49419555 | 43 | /// Whether we're only handling event-by-event data (i.e. no accumulation) |
44 | virtual Bool_t IsEventByEvent() const { return kFALSE; } | |
45 | ||
46 | /// Set event-by-event mode | |
47 | virtual void SetEventByEvent(Bool_t /*flag*/) { } | |
48 | ||
9016a84e | 49 | /// Set the running state (no effect if not runnable) |
0145e89a | 50 | virtual void SetRunning(Bool_t flag) = 0; |
51 | ||
515cc5b5 | 52 | /// Process current event |
53 | virtual Bool_t ProcessEvent() = 0; | |
54 | ||
55 | /// Advance to next event and process it (no effect if not runnable) | |
56 | virtual Bool_t NextEvent() { return ProcessEvent(); } | |
0145e89a | 57 | |
9016a84e | 58 | /// Rewind events (no effect if not runnable) |
0145e89a | 59 | virtual void Rewind() = 0; |
60 | ||
9016a84e | 61 | /// Set our source URI |
0145e89a | 62 | virtual void SetSource(const char* source) = 0; |
63 | ||
9016a84e | 64 | /// Get our source URI |
0145e89a | 65 | virtual TString Source() const = 0; |
d59411b9 | 66 | |
67 | /// Get the number of events we have seen (but not necessarily used...) | |
68 | virtual Int_t NumberOfEvents() const = 0; | |
0145e89a | 69 | |
49419555 | 70 | /// Merge |
71 | virtual Long64_t Merge(TCollection* list) = 0; | |
72 | ||
a679753e | 73 | /// Set event range (if not event by event) |
74 | virtual void SetEventRange(Int_t /* firstevent */, Int_t /* lastevent */) {} | |
75 | ||
0145e89a | 76 | ClassDef(AliMUONVTrackerDataMaker,1) // Producer of AliMUONVTrackerData |
77 | }; | |
78 | ||
79 | #endif |