Update of ACORDE-QA-Raw data histograms (now they go from -0.5 to 59.5)
[u/mrichter/AliRoot.git] / MUON / AliMUONVTrackerDataMaker.h
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 we can be run
35   virtual Bool_t IsRunnable() const = 0;
36
37   /// Whether we are running (must be false if IsRunnable is false)
38   virtual Bool_t IsRunning() const = 0;
39   
40   /// Whether we're only handling event-by-event data (i.e. no accumulation)
41   virtual Bool_t IsEventByEvent() const { return kFALSE; }
42   
43   /// Set event-by-event mode
44   virtual void SetEventByEvent(Bool_t /*flag*/) { }
45   
46   /// Set the running state (no effect if not runnable)
47   virtual void SetRunning(Bool_t flag) = 0;
48   
49         /// Process current event
50         virtual Bool_t ProcessEvent() = 0;
51         
52   /// Advance to next event and process it (no effect if not runnable)
53   virtual Bool_t NextEvent() { return ProcessEvent(); }
54   
55   /// Rewind events (no effect if not runnable)
56   virtual void Rewind() = 0;
57   
58   /// Set our source URI
59   virtual void SetSource(const char* source) = 0;
60   
61   /// Get our source URI
62   virtual TString Source() const = 0;
63
64   /// Get the number of events we have seen (but not necessarily used...)
65   virtual Int_t NumberOfEvents() const = 0;
66   
67   /// Merge
68   virtual Long64_t Merge(TCollection* list) = 0;
69   
70   ClassDef(AliMUONVTrackerDataMaker,1) // Producer of AliMUONVTrackerData
71 };
72
73 #endif