]>
Commit | Line | Data |
---|---|---|
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 | ||
9 | /// \ingroup rec | |
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; | |
20 | class TCollection; | |
21 | ||
22 | class AliMUONVTrackerDataMaker : public TObject | |
23 | { | |
24 | public: | |
25 | AliMUONVTrackerDataMaker(); | |
26 | virtual ~AliMUONVTrackerDataMaker(); | |
27 | ||
28 | /// Whether we are valid or not | |
29 | virtual Bool_t IsValid() const = 0; | |
30 | ||
31 | /// Our data | |
32 | virtual AliMUONVTrackerData* Data() const = 0; | |
33 | ||
34 | /// Whether or not we're the owner of our AliMUONVTrackerData | |
35 | virtual void SetOwnerOfData(Bool_t /*flag*/) { } | |
36 | ||
37 | /// Whether we can be run | |
38 | virtual Bool_t IsRunnable() const = 0; | |
39 | ||
40 | /// Whether we are running (must be false if IsRunnable is false) | |
41 | virtual Bool_t IsRunning() const = 0; | |
42 | ||
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 | ||
49 | /// Set the running state (no effect if not runnable) | |
50 | virtual void SetRunning(Bool_t flag) = 0; | |
51 | ||
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(); } | |
57 | ||
58 | /// Rewind events (no effect if not runnable) | |
59 | virtual void Rewind() = 0; | |
60 | ||
61 | /// Set our source URI | |
62 | virtual void SetSource(const char* source) = 0; | |
63 | ||
64 | /// Get our source URI | |
65 | virtual TString Source() const = 0; | |
66 | ||
67 | /// Get the number of events we have seen (but not necessarily used...) | |
68 | virtual Int_t NumberOfEvents() const = 0; | |
69 | ||
70 | /// Merge | |
71 | virtual Long64_t Merge(TCollection* list) = 0; | |
72 | ||
73 | /// Set event range (if not event by event) | |
74 | virtual void SetEventRange(Int_t /* firstevent */, Int_t /* lastevent */) {} | |
75 | ||
76 | ClassDef(AliMUONVTrackerDataMaker,1) // Producer of AliMUONVTrackerData | |
77 | }; | |
78 | ||
79 | #endif |