ESD file is added to the list of proof output files. It is then automatically merged...
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackerCalibratedDataMaker.h
CommitLineData
8741815f 1#ifndef ALIMUONTRACKERCALIBRATEDDATAMAKER_H
2#define ALIMUONTRACKERCALIBRATEDDATAMAKER_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
4ef00a18 9/// \ingroup rec
8741815f 10/// \class AliMUONTrackerCalibratedDataMaker
11/// \brief Creator of calibrated 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;
a0dc65b4 29class AliMUONRecoParam;
8741815f 30
31class AliMUONTrackerCalibratedDataMaker : public AliMUONVTrackerDataMaker
32{
33public:
515cc5b5 34
35 AliMUONTrackerCalibratedDataMaker(TRootIOCtor* ioCtor);
36
a0dc65b4 37 AliMUONTrackerCalibratedDataMaker(const AliMUONRecoParam* recoParam,
38 Int_t runNumber,
515cc5b5 39 AliRawReader* reader,
40 const char* cdbpath=0x0,
41 const char* calibMode=0x0,
42 Bool_t histogram=kFALSE,
43 Double_t xmin=0.0,
44 Double_t xmax=4096.0,
45 Bool_t useHPdecoder=kTRUE);
46
a0dc65b4 47 AliMUONTrackerCalibratedDataMaker(const AliMUONRecoParam* recoParam,
48 AliRawReader* reader = 0x0,
10eb3d17 49 const char* cdbpath=0x0,
50 const char* calibMode=0x0,
51 Bool_t histogram=kFALSE,
52 Double_t xmin=0.0,
515cc5b5 53 Double_t xmax=4096.0,
54 Bool_t useHPdecoder=kTRUE);
55
8741815f 56 virtual ~AliMUONTrackerCalibratedDataMaker();
57
58 /// Whether we have a valid raw reader
59 Bool_t IsValid() const { return fRawReader != 0x0; }
60
61 /// Our data
62 AliMUONVTrackerData* Data() const { return fAccumulatedData; }
63
64 /// We can be run
65 virtual Bool_t IsRunnable() const { return kTRUE; }
66
67 /// Whether we are running or not
68 virtual Bool_t IsRunning() const { return fIsRunning; }
69
70 /// Set the running status
71 virtual void SetRunning(Bool_t flag) { fIsRunning = flag; }
72
515cc5b5 73 Bool_t ProcessEvent();
74
8741815f 75 Bool_t NextEvent();
76
77 void Print(Option_t* opt="") const;
78
79 void Rewind();
80
8741815f 81 /// Get our source URI
82 virtual TString Source() const { return fSource.Data(); }
83
84 /// Set our source URI
85 void SetSource(const char* source) { fSource = source; }
86
8741815f 87 /// Number of events seen
88 Int_t NumberOfEvents() const { return fNumberOfEvents; }
89
49419555 90 virtual Long64_t Merge(TCollection* list);
91
515cc5b5 92 void SetRawReader(AliRawReader* rawReader);
93
8741815f 94private:
95 /// Not implemented
96 AliMUONTrackerCalibratedDataMaker(const AliMUONTrackerCalibratedDataMaker& rhs);
97 /// Not implemented
98 AliMUONTrackerCalibratedDataMaker& operator=(const AliMUONTrackerCalibratedDataMaker& rhs);
99
a0dc65b4 100 void Ctor(const AliMUONRecoParam* recoParam,
101 Int_t runNumber, const char* calibMode,
515cc5b5 102 Bool_t histogram, Double_t xmin, Double_t xmax);
8741815f 103
104private:
515cc5b5 105 AliRawReader* fRawReader; //!< reader of the data
106 Bool_t fIsOwnerOfRawReader; //!< whether we must delete fRawReader or not
49419555 107 AliMUONVTrackerData* fAccumulatedData; ///< data (owner)
8741815f 108 AliMUONVStore* fOneEventData; ///< data for one event (owner)
8741815f 109 TString fSource; ///< where the data comes from
110 Bool_t fIsRunning; ///< whether we are running or are paused
49419555 111 AliMUONDigitCalibrator* fDigitCalibrator; //!< digit calibrator (if calibrating data)
8741815f 112 AliMUONCalibrationData* fCalibrationData; ///< calibration data (if calibrating data)
8741815f 113 TString fCDBPath; ///< OCDB path (if calibrating data)
114 Int_t fNumberOfEvents; ///< number of events seen
515cc5b5 115 Bool_t fUseHPDecoder; ///< whether to use High Performance decoder or not
8741815f 116 static Int_t fgkCounter; ///< to count the number of instances
117
515cc5b5 118 ClassDef(AliMUONTrackerCalibratedDataMaker,3) // Producer of calibrated AliMUONVTrackerData from raw data
8741815f 119};
120
121#endif