// Hi Emacs, this is -*- mode: c++ -*- Not C mode like you would think. #ifndef BRAT_BrMainDb #define BRAT_BrMainDb #ifndef ROOT_TNamed #include "TNamed.h" #endif #ifndef ROOT_TSQLServer #include "TSQLServer.h" #endif #ifndef ROOT_TSQLResult #include "TSQLResult.h" #endif #ifndef BRAT_BrCalibrationsDb #include "BrCalibrationsDb.h" #endif #ifndef BRAT_BrDb #include "BrDb.h" #endif #ifndef BRAT_BrDbDb #include "BrDbDb.h" #endif #ifndef BRAT_BrRunsDb #include "BrRunsDb.h" #endif #ifndef BRAT_BrPassDb #include "BrPassDb.h" #endif #ifndef BRAT_BrGeometriesDb #include "BrGeometriesDb.h" #endif #ifndef BRAT_BrDbTable #include "BrDbTable.h" #endif #ifndef BRAT_BrDbPerson #include "BrDbPerson.h" #endif #ifndef BRAT_BrDbSector #include "BrDbSector.h" #endif #ifndef BRAT_BrDbDetector #include "BrDbDetector.h" #endif #ifndef BRAT_BrDbDetectorType #include "BrDbDetectorType.h" #endif #ifndef BRAT_BrDbComponent #include "BrDbComponent.h" #endif #ifndef BRAT_BrDbComponentType #include "BrDbComponentType.h" #endif #define BRAHMS_MAIN_DB_HOST "rcas0005.rcf.bnl.gov" #define BRAHMS_MAIN_DB_NAME "BrahmsMain" class BrMainDb : public BrDb { protected: BrRunsDb* fRunDB; // Pointer to Run database BrPassDb* fPassDB; // Pointer to Pass database BrGeometriesDb* fGeomDB; // Pointer to Geometry database BrCalibrationsDb* fCalibDB; // Pointer to Calibration database static BrMainDb* fgInstance; // Int_t fVerbose; // Verbosity Int_t fDebugLevel;// Debug level public: BrMainDb(); virtual ~BrMainDb(); static BrMainDb* Instance(); Int_t DebugLevel() const { return fDebugLevel; } Int_t Verbose() const { return fVerbose; } void SetDebugLevel(Int_t x) { fDebugLevel = x; } void SetVerbose(Int_t x) { fVerbose = x; } virtual Bool_t ConnectToDB(BrDb*& db, const Char_t* user); virtual BrRunsDb* ConnectToRun(const Char_t *user=""); virtual BrPassDb* ConnectToPass(const Char_t *user=""); virtual BrGeometriesDb* ConnectToGeom(const Char_t *user=""); virtual BrCalibrationsDb* ConnectToCalib(const Char_t *user=""); virtual void AddDb(BrDbDb* db) = 0; virtual void AddPerson(BrDbPerson* person) = 0; virtual void AddSector(BrDbSector* sector) = 0; virtual void AddDetector(BrDbDetector* det) = 0; virtual void AddDetectorType(BrDbDetectorType* type) = 0; virtual void AddComponent(BrDbComponent* comp) = 0; virtual void AddComponentType(BrDbComponentType* type) = 0; virtual BrDbDb* GetDb(const Char_t* name) = 0; virtual BrDbPerson* GetPerson(const Char_t* condition) = 0; virtual BrDbSector* GetSector(const Char_t* condition) = 0; virtual BrDbDetector* GetDetector(const Char_t* condition) = 0; virtual BrDbDetectorType* GetDetectorType(const Char_t* condition) = 0; virtual BrDbComponent* GetComponent(const Char_t* condition) = 0; virtual BrDbComponentType* GetComponentType(const Char_t* condition) = 0; virtual TObjArray* GetXPerson(const Char_t* condition) = 0; virtual TObjArray* GetXSector(const Char_t* condition) = 0; virtual TObjArray* GetXDetector(const Char_t* condition) = 0; virtual TObjArray* GetXDetectorType(const Char_t* condition) = 0; virtual TObjArray* GetXComponent(const Char_t* condition) = 0; virtual TObjArray* GetXComponentType(const Char_t* condition) = 0; virtual BrDbPerson* GetPersonByName(const Char_t* lastname, const Char_t* firstnames) = 0; virtual BrDbSector* GetSectorByName(const Char_t* name) = 0; virtual BrDbDetector* GetDetectorByName(const Char_t* name) = 0; virtual BrDbDetectorType* GetDetectorTypeByName(const Char_t* name) = 0; virtual BrDbComponent* GetComponentByName(const Char_t* name, Int_t detectorId) = 0; virtual BrDbComponentType* GetComponentTypeByName(const Char_t* name) = 0; virtual Bool_t PurgeDetector(const Char_t* name) = 0; ClassDef(BrMainDb,0) // ABC for main database access } ; #endif // _BrMainDb_HH