]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTrackerRawDataMaker.h
Add Config/HighVoltage directory and entry
[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
11/// \brief Creator of AliMUONVTrackerData from AliRawReader
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;
23class AliMUONCalibrationData;
24class AliMUONDigitCalibrator;
25class AliMUONDigitMaker;
26class AliMUONVTrackerData;
27class AliMUONVStore;
28class AliMUONVDigitStore;
29
30class AliMUONTrackerRawDataMaker : public AliMUONVTrackerDataMaker
31{
32public:
33 AliMUONTrackerRawDataMaker(AliRawReader* reader = 0x0, const char* cdbpath=0x0);
34 virtual ~AliMUONTrackerRawDataMaker();
35
9016a84e 36 /// Whether we have a valid raw reader
0145e89a 37 Bool_t IsValid() const { return fRawReader != 0x0; }
38
9016a84e 39 /// Our data
0145e89a 40 AliMUONVTrackerData* Data() const { return fAccumulatedData; }
41
9016a84e 42 /// We can be run
0145e89a 43 virtual Bool_t IsRunnable() const { return kTRUE; }
44
9016a84e 45 /// Whether we are running or not
0145e89a 46 virtual Bool_t IsRunning() const { return fIsRunning; }
47
9016a84e 48 /// Set the running status
0145e89a 49 virtual void SetRunning(Bool_t flag) { fIsRunning = flag; }
50
51 Bool_t NextEvent();
52
53 void Print(Option_t* opt="") const;
54
55 void Rewind();
56
9016a84e 57 /// Tell if we are owner of our data or not
0145e89a 58 void SetOwner(Bool_t flag) { fIsOwner = flag; }
59
9016a84e 60 /// Get our source URI
0145e89a 61 virtual TString Source() const { return fSource.Data(); }
62
9016a84e 63 /// Set our source URI
0145e89a 64 void SetSource(const char* source) { fSource = source; }
65
9016a84e 66 /// Get our digit store
0145e89a 67 AliMUONVDigitStore* DigitStore() const { return fDigitStore; }
68
69private:
70 /// Not implemented
71 AliMUONTrackerRawDataMaker(const AliMUONTrackerRawDataMaker& rhs);
72 /// Not implemented
73 AliMUONTrackerRawDataMaker& operator=(const AliMUONTrackerRawDataMaker& rhs);
74
75 void ConvertDigits();
76
77private:
78 AliRawReader* fRawReader; ///< reader of the data (owner)
79 AliMUONVTrackerData* fAccumulatedData; ///< data (owner if fIsOwner==kTRUE)
80 AliMUONVStore* fOneEventData; ///< data for one event (owner)
81 Bool_t fIsOwner; ///< whether we are owner of our data or not
82 TString fSource; ///< where the data comes from
83 Bool_t fIsRunning; ///< whether we are running or are paused
84 AliMUONDigitMaker* fDigitMaker; ///< digit maker
85 AliMUONDigitCalibrator* fDigitCalibrator; ///< digit calibrator (if calibrating data)
86 AliMUONCalibrationData* fCalibrationData; ///< calibration data (if calibrating data)
87 AliMUONVDigitStore* fDigitStore; ///< digit store (if calibrating data)
88 TString fCDBPath; ///< OCDB path (if calibrating data)
89 static Int_t fgkCounter; ///< to count the number of instances
90
91 ClassDef(AliMUONTrackerRawDataMaker,1) // Producer of AliMUONVTrackerData from raw data
92};
93
94#endif