]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTrackerConditionDataMaker.h
Fixing bug related to arithmetic overflow on 32 bit machines. The bug typically appea...
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackerConditionDataMaker.h
CommitLineData
ca913045 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///
949d9006 13// Author Laurent Aphecetche
ca913045 14
15#ifndef ALIMUONVTRACKERDATAMAKER_H
16# include "AliMUONVTrackerDataMaker.h"
17#endif
18#ifndef ROOT_TString
19# include "TString.h"
20#endif
21
22class AliMUONVStore;
23class TMap;
24
25class AliMUONTrackerConditionDataMaker : public AliMUONVTrackerDataMaker
26{
27public:
9641f73a 28 AliMUONTrackerConditionDataMaker();
ca913045 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 /// Whether we've been properly initialized or not
39 Bool_t IsValid() const { return (fData != 0x0); }
40
41 /// Return our data
42 virtual AliMUONVTrackerData* Data() const { return fData; }
43
44 /// We are not runnable (i.e. # of event is fixed = 1)
45 virtual Bool_t IsRunnable() const { return kFALSE; }
46
47 /// We cannot be running as we are not runnable...
48 virtual Bool_t IsRunning() const { return kFALSE; }
49
50 /// N/A
51 virtual void SetRunning(Bool_t /*flag*/) {}
52
53 /// N/A
54 virtual Bool_t ProcessEvent() { return kTRUE; }
55
56 /// N/A
57 virtual void Rewind() { }
58
59 /// Set our source URI
60 virtual void SetSource(const char* source) { fSource = source; }
61
62 /// Get our source URI
63 virtual TString Source() const { return fSource.Data(); }
64
65 /// Number of events is always 1
66 Int_t NumberOfEvents() const { return 1; }
67
68 virtual Long64_t Merge(TCollection* li);
69
70private:
949d9006 71 /// Not implemented
ca913045 72 AliMUONTrackerConditionDataMaker(const AliMUONTrackerConditionDataMaker& rhs);
949d9006 73 /// Not implemented
ca913045 74 AliMUONTrackerConditionDataMaker& operator=(const AliMUONTrackerConditionDataMaker& rhs);
75
76 static AliMUONVStore* CreateHVStore(TMap& m);
77 static AliMUONVStore* CreateStatusMapStore(Int_t runNumber);
78 static AliMUONVStore* CreateStatusStore(Int_t runNumber);
79 static AliMUONVStore* PatchGainStore(const AliMUONVStore& gains);
80 static AliMUONVStore* ExpandConfig(const AliMUONVStore& config);
81
82private:
83 AliMUONVTrackerData* fData; ///< our data
84 TString fSource; ///< source name
85
86 ClassDef(AliMUONTrackerConditionDataMaker,1) // Producer of AliMUONVTrackerData from condition data (either OCDB or ascii files)
87};
88
89#endif
90