1 #ifndef ALIMUONTRACKERRAWDATAMAKER_H
2 #define ALIMUONTRACKERRAWDATAMAKER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONTrackerRawDataMaker
11 /// \brief Creator of raw AliMUONVTrackerData from AliRawReader
13 // Author Laurent Aphecetche, Subatech
15 #ifndef ALIMUONVTRACKERDATAMAKER_H
16 # include "AliMUONVTrackerDataMaker.h"
24 class AliMUONVTrackerData;
26 class AliMUONTrackerRawDataMaker : public AliMUONVTrackerDataMaker
29 AliMUONTrackerRawDataMaker(AliRawReader* reader = 0x0,
30 Bool_t histogram=kFALSE,
31 Bool_t useHPdecoder=kFALSE);
32 virtual ~AliMUONTrackerRawDataMaker();
34 /// Whether we have a valid raw reader
35 Bool_t IsValid() const { return fRawReader != 0x0; }
38 AliMUONVTrackerData* Data() const { return fAccumulatedData; }
40 /// Whether we're only handling event-by-event data (i.e. no accumulation)
41 virtual Bool_t IsEventByEvent() const { return fIsEventByEvent; }
43 /// Set event-by-event mode
44 virtual void SetEventByEvent(Bool_t flag) { fIsEventByEvent = flag; }
46 /// We can be run if we have a reader
47 virtual Bool_t IsRunnable() const { return IsValid(); }
49 /// Whether we are running or not
50 virtual Bool_t IsRunning() const { return fIsRunning; }
52 /// Set the running status
53 virtual void SetRunning(Bool_t flag) { fIsRunning = flag; }
57 void Print(Option_t* opt="") const;
61 /// Get our source URI
62 virtual TString Source() const { return fSource.Data(); }
64 /// Set our source URI
65 void SetSource(const char* source) { fSource = source; }
67 /// Number of events seen
68 Int_t NumberOfEvents() const { return fNumberOfEvents; }
70 Long64_t Merge(TCollection* li);
74 AliMUONTrackerRawDataMaker(const AliMUONTrackerRawDataMaker& rhs);
76 AliMUONTrackerRawDataMaker& operator=(const AliMUONTrackerRawDataMaker& rhs);
79 AliRawReader* fRawReader; //!< reader of the data (owner)
80 AliMUONVTrackerData* fAccumulatedData; ///< data (owner)
81 AliMUONVStore* fOneEventData; ///< data for one event (owner)
82 TString fSource; ///< where the data comes from
83 Bool_t fIsRunning; ///< whether we are running or are paused
84 Int_t fNumberOfEvents; ///< number of events seen
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)
88 static Int_t fgkCounter; ///< to count the number of instances
90 ClassDef(AliMUONTrackerRawDataMaker,3) // Producer of AliMUONVTrackerData from raw data