Line data Source code
1 : #ifndef ALIMUONTRACKERCONDITIONDATAMAKER_H
2 : #define ALIMUONTRACKERCONDITIONDATAMAKER_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 rec
10 : /// \class AliMUONTrackerConditionDataMaker
11 : /// \brief Producer of AliMUONVTrackerData from OCDB or ASCII condition files
12 : ///
13 : // Author Laurent Aphecetche
14 :
15 : #ifndef ALIMUONVTRACKERDATAMAKER_H
16 : # include "AliMUONVTrackerDataMaker.h"
17 : #endif
18 : #ifndef ROOT_TString
19 : # include "TString.h"
20 : #endif
21 :
22 : class AliMUONVStore;
23 : class TMap;
24 :
25 : class AliMUONTrackerConditionDataMaker : public AliMUONVTrackerDataMaker
26 : {
27 : public:
28 : AliMUONTrackerConditionDataMaker();
29 : AliMUONTrackerConditionDataMaker(Int_t runNumber, const char* ocdbPath, const char* type);
30 : AliMUONTrackerConditionDataMaker(const char* filename, const char* type);
31 : AliMUONTrackerConditionDataMaker(const char* data, const char* type, Bool_t);
32 : virtual ~AliMUONTrackerConditionDataMaker();
33 :
34 : static AliMUONVStore* CreateStore(Int_t runNumber, const char* source, const char* type, Int_t& startOfValidity);
35 :
36 : static AliMUONVTrackerData* CreateData(const char* type, AliMUONVStore& source, Int_t startOfValidity);
37 :
38 0 : virtual void SetOwnerOfData(Bool_t flag) { fIsOwnerOfData = flag; }
39 :
40 : /// Whether we've been properly initialized or not
41 0 : Bool_t IsValid() const { return (fData != 0x0); }
42 :
43 : /// Return our data
44 0 : virtual AliMUONVTrackerData* Data() const { return fData; }
45 :
46 : /// We are not runnable (i.e. # of event is fixed = 1)
47 0 : virtual Bool_t IsRunnable() const { return kFALSE; }
48 :
49 : /// We cannot be running as we are not runnable...
50 0 : virtual Bool_t IsRunning() const { return kFALSE; }
51 :
52 : /// N/A
53 0 : virtual void SetRunning(Bool_t /*flag*/) {}
54 :
55 : /// N/A
56 0 : virtual Bool_t ProcessEvent() { return kTRUE; }
57 :
58 : /// N/A
59 0 : virtual void Rewind() { }
60 :
61 : /// Set our source URI
62 0 : virtual void SetSource(const char* source) { fSource = source; }
63 :
64 : /// Get our source URI
65 0 : virtual TString Source() const { return fSource.Data(); }
66 :
67 : /// Number of events is always 1
68 0 : Int_t NumberOfEvents() const { return 1; }
69 :
70 : virtual Long64_t Merge(TCollection* li);
71 :
72 : private:
73 : /// Not implemented
74 : AliMUONTrackerConditionDataMaker(const AliMUONTrackerConditionDataMaker& rhs);
75 : /// Not implemented
76 : AliMUONTrackerConditionDataMaker& operator=(const AliMUONTrackerConditionDataMaker& rhs);
77 :
78 : static AliMUONVStore* CreateHVStore(TMap& m);
79 : static AliMUONVStore* CreateLVStore(TMap& m);
80 : static AliMUONVStore* CreateStatusMapStore(Int_t runNumber);
81 : static AliMUONVStore* CreateStatusStore(Int_t runNumber);
82 : static AliMUONVStore* ExpandConfig(const AliMUONVStore& config);
83 :
84 : private:
85 : AliMUONVTrackerData* fData; ///< our data
86 : TString fSource; ///< source name
87 : Bool_t fIsOwnerOfData; ///< is fData ours or not
88 :
89 18 : ClassDef(AliMUONTrackerConditionDataMaker,2) // Producer of AliMUONVTrackerData from condition data (either OCDB or ascii files)
90 : };
91 :
92 : #endif
|