]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONVTrackerDataMaker.h
Afterburner to generate light nuclei
[u/mrichter/AliRoot.git] / MUON / AliMUONVTrackerDataMaker.h
CommitLineData
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
19class AliMUONVTrackerData;
49419555 20class TCollection;
0145e89a 21
22class AliMUONVTrackerDataMaker : public TObject
23{
24public:
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