ROOT logo
#ifndef ALIEMCALTRIGGERDCSCONFIGDB_H
#define ALIEMCALTRIGGERDCSCONFIGDB_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/*
 
 

Adapted from TRD: thanks!
Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
*/

#ifndef ROOT_TObject
#include "TObject.h"
#endif

class AliCDBEntry;

class AliEMCALTriggerDCSConfig;

class AliEMCALTriggerDCSConfigDB : public TObject 
{
public:
	
	static AliEMCALTriggerDCSConfigDB*  Instance();
	static void                         Terminate();

	void                                SetRun(Long64_t run);
	Long64_t                            GetRun() const { return fRun; }
	const AliEMCALTriggerDCSConfig*     GetTriggerDCSConfig();
	
protected:

	// For caching see also implentation of GetCachedCDBObject in the .cxx file
	// For now, only one cached object but let the possibility to have more
	enum { kCDBCacheSize = 1    };   // Number of cached objects
	enum { kIDTriggerConfig = 0 };   // IDs of cached objects

	const TObject *GetCachedCDBObject(Int_t id);
  
	void           Invalidate();
    
	AliCDBEntry   *GetCDBEntry(const Char_t *cdbPath);
	const TObject *CacheCDBEntry(Int_t id, const Char_t *cdbPath);

	static AliEMCALTriggerDCSConfigDB* fgInstance;                 //  Instance of this class (singleton implementation)
	static Bool_t                      fgTerminated;               //  Defines if this class has already been terminated

	AliCDBEntry*                       fCDBEntries[kCDBCacheSize]; //  Cache for CDB entries
	TObject*                           fCDBCache[kCDBCacheSize];   //  Cache for calibration objects.

	Long64_t                           fRun;                       //  Run Number
  
 private:

	AliEMCALTriggerDCSConfigDB();                                  //  This is a singleton, constructor is private!  
	AliEMCALTriggerDCSConfigDB(const AliEMCALTriggerDCSConfigDB &c);   
	AliEMCALTriggerDCSConfigDB &operator=(const AliEMCALTriggerDCSConfigDB &c); 
	virtual ~AliEMCALTriggerDCSConfigDB();

	ClassDef(AliEMCALTriggerDCSConfigDB, 1)                         //  Provides central access to the CDB
};

#endif

 AliEMCALTriggerDCSConfigDB.h:1
 AliEMCALTriggerDCSConfigDB.h:2
 AliEMCALTriggerDCSConfigDB.h:3
 AliEMCALTriggerDCSConfigDB.h:4
 AliEMCALTriggerDCSConfigDB.h:5
 AliEMCALTriggerDCSConfigDB.h:6
 AliEMCALTriggerDCSConfigDB.h:7
 AliEMCALTriggerDCSConfigDB.h:8
 AliEMCALTriggerDCSConfigDB.h:9
 AliEMCALTriggerDCSConfigDB.h:10
 AliEMCALTriggerDCSConfigDB.h:11
 AliEMCALTriggerDCSConfigDB.h:12
 AliEMCALTriggerDCSConfigDB.h:13
 AliEMCALTriggerDCSConfigDB.h:14
 AliEMCALTriggerDCSConfigDB.h:15
 AliEMCALTriggerDCSConfigDB.h:16
 AliEMCALTriggerDCSConfigDB.h:17
 AliEMCALTriggerDCSConfigDB.h:18
 AliEMCALTriggerDCSConfigDB.h:19
 AliEMCALTriggerDCSConfigDB.h:20
 AliEMCALTriggerDCSConfigDB.h:21
 AliEMCALTriggerDCSConfigDB.h:22
 AliEMCALTriggerDCSConfigDB.h:23
 AliEMCALTriggerDCSConfigDB.h:24
 AliEMCALTriggerDCSConfigDB.h:25
 AliEMCALTriggerDCSConfigDB.h:26
 AliEMCALTriggerDCSConfigDB.h:27
 AliEMCALTriggerDCSConfigDB.h:28
 AliEMCALTriggerDCSConfigDB.h:29
 AliEMCALTriggerDCSConfigDB.h:30
 AliEMCALTriggerDCSConfigDB.h:31
 AliEMCALTriggerDCSConfigDB.h:32
 AliEMCALTriggerDCSConfigDB.h:33
 AliEMCALTriggerDCSConfigDB.h:34
 AliEMCALTriggerDCSConfigDB.h:35
 AliEMCALTriggerDCSConfigDB.h:36
 AliEMCALTriggerDCSConfigDB.h:37
 AliEMCALTriggerDCSConfigDB.h:38
 AliEMCALTriggerDCSConfigDB.h:39
 AliEMCALTriggerDCSConfigDB.h:40
 AliEMCALTriggerDCSConfigDB.h:41
 AliEMCALTriggerDCSConfigDB.h:42
 AliEMCALTriggerDCSConfigDB.h:43
 AliEMCALTriggerDCSConfigDB.h:44
 AliEMCALTriggerDCSConfigDB.h:45
 AliEMCALTriggerDCSConfigDB.h:46
 AliEMCALTriggerDCSConfigDB.h:47
 AliEMCALTriggerDCSConfigDB.h:48
 AliEMCALTriggerDCSConfigDB.h:49
 AliEMCALTriggerDCSConfigDB.h:50
 AliEMCALTriggerDCSConfigDB.h:51
 AliEMCALTriggerDCSConfigDB.h:52
 AliEMCALTriggerDCSConfigDB.h:53
 AliEMCALTriggerDCSConfigDB.h:54
 AliEMCALTriggerDCSConfigDB.h:55
 AliEMCALTriggerDCSConfigDB.h:56
 AliEMCALTriggerDCSConfigDB.h:57
 AliEMCALTriggerDCSConfigDB.h:58
 AliEMCALTriggerDCSConfigDB.h:59
 AliEMCALTriggerDCSConfigDB.h:60
 AliEMCALTriggerDCSConfigDB.h:61
 AliEMCALTriggerDCSConfigDB.h:62
 AliEMCALTriggerDCSConfigDB.h:63
 AliEMCALTriggerDCSConfigDB.h:64
 AliEMCALTriggerDCSConfigDB.h:65
 AliEMCALTriggerDCSConfigDB.h:66