]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTrackerOCDBDataMaker.h
Introducing a new OCDB object, MUON/Calib/KillMap, which allows to selectively
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackerOCDBDataMaker.h
1 #ifndef ALIMUONTRACKEROCDBDATAMAKER_H
2 #define ALIMUONTRACKEROCDBDATAMAKER_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 AliMUONTrackerOCDBDataMaker
11 /// \brief
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
22 class TMap;
23 class AliMUONVStore;
24
25 class AliMUONTrackerOCDBDataMaker : public AliMUONVTrackerDataMaker
26 {
27 public:
28   AliMUONTrackerOCDBDataMaker(const char* ocdbPath="",
29                                Int_t runNumber=0,
30                                const char* type="");
31   virtual ~AliMUONTrackerOCDBDataMaker();
32   
33   /// Whether we've been properly initialized or not
34   Bool_t IsValid() const { return fIsValid; }
35   
36   /// Return our data
37   virtual AliMUONVTrackerData* Data() const { return fData; }
38   
39   /// We are not runnable (i.e. # of event is fixed = 1)
40   virtual Bool_t IsRunnable() const { return kFALSE; }
41   
42   /// We cannot be running as we are not runnable...
43   virtual Bool_t IsRunning() const { return kFALSE; }
44   
45   /// N/A
46   virtual void SetRunning(Bool_t /*flag*/) {}
47   
48   /// N/A
49   virtual Bool_t ProcessEvent() { return kTRUE; }
50   
51   /// N/A
52   virtual void Rewind() { }
53   
54   /// Set our source URI
55   virtual void SetSource(const char* source) { fSource = source; }
56   
57   /// Get our source URI
58   virtual TString Source() const { return fSource; }
59   
60   /// Number of events is always 1
61     Int_t NumberOfEvents() const { return 1; }
62
63   virtual Long64_t Merge(TCollection* li);
64
65   static AliMUONVStore* CreateHVStore(TMap& hvMap);
66   static AliMUONVStore* SplitQuality(const AliMUONVStore& gains);
67
68   static AliMUONVTrackerData* CreateDataPedestals(Int_t runNumber);
69   static AliMUONVTrackerData* CreateDataKillMap(Int_t runNumber);
70   static AliMUONVTrackerData* CreateDataGains(Int_t runNumber);
71   static AliMUONVTrackerData* CreateDataCapacitances(Int_t runNumber);
72   
73 private:
74   /// Not implemented
75   AliMUONTrackerOCDBDataMaker(const AliMUONTrackerOCDBDataMaker& rhs);
76   /// Not implemented
77   AliMUONTrackerOCDBDataMaker& operator=(const AliMUONTrackerOCDBDataMaker& rhs);
78   
79   
80 private:
81   Bool_t fIsValid; ///< whether we have valid data
82   AliMUONVTrackerData* fData; ///< our data
83   TString fSource; ///< our source
84   
85   ClassDef(AliMUONTrackerOCDBDataMaker,2) // Producer of AliMUONVTrackerData from OCDB
86 };
87
88 #endif