]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIEMCALTRIGGERDCSCONFIGDB_H | |
2 | #define ALIEMCALTRIGGERDCSCONFIGDB_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* | |
7 | ||
8 | ||
9 | ||
10 | Adapted from TRD: thanks! | |
11 | Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3 | |
12 | */ | |
13 | ||
14 | #ifndef ROOT_TObject | |
15 | #include "TObject.h" | |
16 | #endif | |
17 | ||
18 | class AliCDBEntry; | |
19 | ||
20 | class AliEMCALTriggerDCSConfig; | |
21 | ||
22 | class AliEMCALTriggerDCSConfigDB : public TObject | |
23 | { | |
24 | public: | |
25 | ||
26 | static AliEMCALTriggerDCSConfigDB* Instance(); | |
27 | static void Terminate(); | |
28 | ||
29 | void SetRun(Long64_t run); | |
30 | Long64_t GetRun() const { return fRun; } | |
31 | const AliEMCALTriggerDCSConfig* GetTriggerDCSConfig(); | |
32 | ||
33 | protected: | |
34 | ||
35 | // For caching see also implentation of GetCachedCDBObject in the .cxx file | |
36 | // For now, only one cached object but let the possibility to have more | |
37 | enum { kCDBCacheSize = 1 }; // Number of cached objects | |
38 | enum { kIDTriggerConfig = 0 }; // IDs of cached objects | |
39 | ||
40 | const TObject *GetCachedCDBObject(Int_t id); | |
41 | ||
42 | void Invalidate(); | |
43 | ||
44 | AliCDBEntry *GetCDBEntry(const Char_t *cdbPath); | |
45 | const TObject *CacheCDBEntry(Int_t id, const Char_t *cdbPath); | |
46 | ||
47 | static AliEMCALTriggerDCSConfigDB* fgInstance; // Instance of this class (singleton implementation) | |
48 | static Bool_t fgTerminated; // Defines if this class has already been terminated | |
49 | ||
50 | AliCDBEntry* fCDBEntries[kCDBCacheSize]; // Cache for CDB entries | |
51 | TObject* fCDBCache[kCDBCacheSize]; // Cache for calibration objects. | |
52 | ||
53 | Long64_t fRun; // Run Number | |
54 | ||
55 | private: | |
56 | ||
57 | AliEMCALTriggerDCSConfigDB(); // This is a singleton, constructor is private! | |
58 | AliEMCALTriggerDCSConfigDB(const AliEMCALTriggerDCSConfigDB &c); | |
59 | AliEMCALTriggerDCSConfigDB &operator=(const AliEMCALTriggerDCSConfigDB &c); | |
60 | virtual ~AliEMCALTriggerDCSConfigDB(); | |
61 | ||
62 | ClassDef(AliEMCALTriggerDCSConfigDB, 1) // Provides central access to the CDB | |
63 | }; | |
64 | ||
65 | #endif | |
66 |