]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTrackerRawDataMaker.h
Removing an AliInfo
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackerRawDataMaker.h
CommitLineData
0145e89a 1#ifndef ALIMUONTRACKERRAWDATAMAKER_H
2#define ALIMUONTRACKERRAWDATAMAKER_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 graphics
10/// \class AliMUONTrackerRawDataMaker
8741815f 11/// \brief Creator of raw AliMUONVTrackerData from AliRawReader
0145e89a 12///
13// Author Laurent Aphecetche, Subatech
14
15#ifndef ALIMUONVTRACKERDATAMAKER_H
16# include "AliMUONVTrackerDataMaker.h"
17#endif
18#ifndef ROOT_TString
19# include "TString.h"
20#endif
21
22class AliRawReader;
0145e89a 23class AliMUONVStore;
8741815f 24class AliMUONVTrackerData;
0145e89a 25
26class AliMUONTrackerRawDataMaker : public AliMUONVTrackerDataMaker
27{
28public:
49419555 29 AliMUONTrackerRawDataMaker(AliRawReader* reader = 0x0,
30 Bool_t histogram=kFALSE,
31 Bool_t useHPdecoder=kFALSE);
0145e89a 32 virtual ~AliMUONTrackerRawDataMaker();
33
9016a84e 34 /// Whether we have a valid raw reader
0145e89a 35 Bool_t IsValid() const { return fRawReader != 0x0; }
36
9016a84e 37 /// Our data
0145e89a 38 AliMUONVTrackerData* Data() const { return fAccumulatedData; }
39
49419555 40 /// Whether we're only handling event-by-event data (i.e. no accumulation)
41 virtual Bool_t IsEventByEvent() const { return fIsEventByEvent; }
42
43 /// Set event-by-event mode
44 virtual void SetEventByEvent(Bool_t flag) { fIsEventByEvent = flag; }
45
46 /// We can be run if we have a reader
47 virtual Bool_t IsRunnable() const { return IsValid(); }
0145e89a 48
9016a84e 49 /// Whether we are running or not
0145e89a 50 virtual Bool_t IsRunning() const { return fIsRunning; }
51
9016a84e 52 /// Set the running status
0145e89a 53 virtual void SetRunning(Bool_t flag) { fIsRunning = flag; }
54
55 Bool_t NextEvent();
56
57 void Print(Option_t* opt="") const;
58
59 void Rewind();
60
9016a84e 61 /// Get our source URI
0145e89a 62 virtual TString Source() const { return fSource.Data(); }
63
9016a84e 64 /// Set our source URI
0145e89a 65 void SetSource(const char* source) { fSource = source; }
66
d59411b9 67 /// Number of events seen
8741815f 68 Int_t NumberOfEvents() const { return fNumberOfEvents; }
d59411b9 69
49419555 70 Long64_t Merge(TCollection* li);
71
0145e89a 72private:
73 /// Not implemented
74 AliMUONTrackerRawDataMaker(const AliMUONTrackerRawDataMaker& rhs);
75 /// Not implemented
76 AliMUONTrackerRawDataMaker& operator=(const AliMUONTrackerRawDataMaker& rhs);
77
0145e89a 78private:
49419555 79 AliRawReader* fRawReader; //!< reader of the data (owner)
80 AliMUONVTrackerData* fAccumulatedData; ///< data (owner)
0145e89a 81 AliMUONVStore* fOneEventData; ///< data for one event (owner)
0145e89a 82 TString fSource; ///< where the data comes from
83 Bool_t fIsRunning; ///< whether we are running or are paused
d59411b9 84 Int_t fNumberOfEvents; ///< number of events seen
49419555 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)
0145e89a 88 static Int_t fgkCounter; ///< to count the number of instances
89
49419555 90 ClassDef(AliMUONTrackerRawDataMaker,3) // Producer of AliMUONVTrackerData from raw data
0145e89a 91};
92
93#endif