minor coverity defect: adding self-assignment protection
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALTriggerDCSConfigDB.h
CommitLineData
fff39dd1 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/*
de39a0ff 7
8
9
10Adapted from TRD: thanks!
11Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
fff39dd1 12*/
13
14#ifndef ROOT_TObject
15#include "TObject.h"
16#endif
17
18class AliCDBEntry;
19
20class AliEMCALTriggerDCSConfig;
21
22class AliEMCALTriggerDCSConfigDB : public TObject
23{
24public:
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();
de39a0ff 32 void GetSTUSegmentation(Int_t ssg[], Int_t spg[], Int_t ssj[], Int_t spj[]);
33 Int_t GetTRUSegmentation(Int_t iTRU);
fff39dd1 34 Int_t GetTRUGTHRL0(Int_t iTRU);
35
36protected:
37
38 // For caching see also implentation of GetCachedCDBObject in the .cxx file
39 // For now, only one cached object but let the possibility to have more
40 enum { kCDBCacheSize = 1 }; // Number of cached objects
41 enum { kIDTriggerConfig = 0 }; // IDs of cached objects
42
43 const TObject *GetCachedCDBObject(Int_t id);
44
45 void Invalidate();
46
47 AliCDBEntry *GetCDBEntry(const Char_t *cdbPath);
48 const TObject *CacheCDBEntry(Int_t id, const Char_t *cdbPath);
49
50 static AliEMCALTriggerDCSConfigDB* fgInstance; // Instance of this class (singleton implementation)
51 static Bool_t fgTerminated; // Defines if this class has already been terminated
52
53 AliCDBEntry* fCDBEntries[kCDBCacheSize]; // Cache for CDB entries
54 TObject* fCDBCache[kCDBCacheSize]; // Cache for calibration objects.
55
56 Long64_t fRun; // Run Number
57
58 private:
59
60 AliEMCALTriggerDCSConfigDB(); // This is a singleton, constructor is private!
61 AliEMCALTriggerDCSConfigDB(const AliEMCALTriggerDCSConfigDB &c);
62 AliEMCALTriggerDCSConfigDB &operator=(const AliEMCALTriggerDCSConfigDB &c);
63 virtual ~AliEMCALTriggerDCSConfigDB();
64
65 ClassDef(AliEMCALTriggerDCSConfigDB, 1) // Provides central access to the CDB
66};
67
68#endif
69