]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTrackerRawDataMaker.h
- Implementing the possibility to histogram the raw adc values when reading
[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:
8741815f 29 AliMUONTrackerRawDataMaker(AliRawReader* reader = 0x0, Bool_t histogram=kFALSE);
0145e89a 30 virtual ~AliMUONTrackerRawDataMaker();
31
9016a84e 32 /// Whether we have a valid raw reader
0145e89a 33 Bool_t IsValid() const { return fRawReader != 0x0; }
34
9016a84e 35 /// Our data
0145e89a 36 AliMUONVTrackerData* Data() const { return fAccumulatedData; }
37
9016a84e 38 /// We can be run
0145e89a 39 virtual Bool_t IsRunnable() const { return kTRUE; }
40
9016a84e 41 /// Whether we are running or not
0145e89a 42 virtual Bool_t IsRunning() const { return fIsRunning; }
43
9016a84e 44 /// Set the running status
0145e89a 45 virtual void SetRunning(Bool_t flag) { fIsRunning = flag; }
46
47 Bool_t NextEvent();
48
49 void Print(Option_t* opt="") const;
50
51 void Rewind();
52
9016a84e 53 /// Tell if we are owner of our data or not
0145e89a 54 void SetOwner(Bool_t flag) { fIsOwner = flag; }
55
9016a84e 56 /// Get our source URI
0145e89a 57 virtual TString Source() const { return fSource.Data(); }
58
9016a84e 59 /// Set our source URI
0145e89a 60 void SetSource(const char* source) { fSource = source; }
61
d59411b9 62 /// Number of events seen
8741815f 63 Int_t NumberOfEvents() const { return fNumberOfEvents; }
d59411b9 64
0145e89a 65private:
66 /// Not implemented
67 AliMUONTrackerRawDataMaker(const AliMUONTrackerRawDataMaker& rhs);
68 /// Not implemented
69 AliMUONTrackerRawDataMaker& operator=(const AliMUONTrackerRawDataMaker& rhs);
70
0145e89a 71private:
72 AliRawReader* fRawReader; ///< reader of the data (owner)
73 AliMUONVTrackerData* fAccumulatedData; ///< data (owner if fIsOwner==kTRUE)
74 AliMUONVStore* fOneEventData; ///< data for one event (owner)
75 Bool_t fIsOwner; ///< whether we are owner of our data or not
76 TString fSource; ///< where the data comes from
77 Bool_t fIsRunning; ///< whether we are running or are paused
d59411b9 78 Int_t fNumberOfEvents; ///< number of events seen
0145e89a 79 static Int_t fgkCounter; ///< to count the number of instances
80
8741815f 81 ClassDef(AliMUONTrackerRawDataMaker,2) // Producer of AliMUONVTrackerData from raw data
0145e89a 82};
83
84#endif