// -*- mode: c++ -*- // // $Id: BrRunsDb.h,v 1.3 2002/04/16 13:24:57 hagel Exp $ // $Author: hagel $ // $Date: 2002/04/16 13:24:57 $ // $Copyright: 2000 Brahms Collaboration // #ifndef BRAT_BrRunsDb #define BRAT_BrRunsDb #ifndef ROOT_TObjArray #include "TObjArray.h" #endif #ifndef ROOT_TDatime #include "TDatime.h" #endif #ifndef BRAT_BrDb #include "BrDb.h" #endif #ifndef BRAT_BrDbQuery #include "BrDbQuery.h" #endif #ifndef BRAT_BrDbRun #include "BrDbRun.h" #endif #ifndef BRAT_BrDbFile #include "BrDbFile.h" #endif #ifndef BRAT_BrDbMagnet #include "BrDbMagnet.h" #endif #ifndef BRAT_BrDbConditionsKeithley #include "BrDbConditionsKeithley.h" #endif #ifndef BRAT_BrDbShiftReport #include "BrDbShiftReport.h" #endif class BrRunsDb : public BrDb { protected: static BrRunsDb* fgInstance; public: BrRunsDb(); virtual ~BrRunsDb(); static BrRunsDb* Instance(void); virtual TObjArray* GetXRun(const Char_t* condition) = 0; virtual BrDbRun* GetRun(const Char_t* condition) = 0; virtual TObjArray* GetXFile(const Char_t* condition) = 0; virtual BrDbFile* GetFile(const Char_t* condition) = 0; virtual TObjArray* GetXMagnet(const Char_t* condition) = 0; virtual BrDbMagnet* GetMagnet(const Char_t* condition) = 0; virtual TObjArray* GetXConditionsKeithley(const Char_t* cond) = 0; virtual BrDbConditionsKeithley* GetConditionsKeithley(const Char_t* cond)= 0; virtual TObjArray* GetXShiftReport(const Char_t* condition) = 0; virtual BrDbShiftReport* GetShiftReport(const Char_t* condition) = 0; // Specific queries virtual BrDbRun* GetRun(Int_t runno) = 0; virtual BrDbFile* GetFile(Int_t runno, Int_t sequence) = 0; virtual BrDbFile* GetFileByTime(Int_t start, Int_t stop=-1) = 0; virtual BrDbMagnet* GetMagnet(Int_t magnet, Int_t start, Int_t stop=-1) = 0; virtual BrDbShiftReport* GetShiftReport(Int_t start , Int_t stop=-1) = 0; virtual TObjArray* GetXFile(Int_t runno) = 0; virtual TObjArray* GetXConditionsKeithley(Int_t unit, Int_t chan, Int_t start, Int_t end) = 0; ClassDef(BrRunsDb,0) // Run Database connection }; #endif // $Log: BrRunsDb.h,v $ // Revision 1.3 2002/04/16 13:24:57 hagel // Implement support for access using BrDbConditionsKeithley // // Revision 1.2 2001/10/08 11:02:48 cholm // Implemented the polymorphic access approach. // // Revision 1.1.1.1 2001/06/21 14:55:17 hagel // Initial revision of brat2 // // Revision 1.6 2001/06/18 10:31:22 cholm // Changed the connection scheme to the databases. No more explicit passwords, // and better handling for diconnecting from the databases. Password is stored // internally, so that one may connect and disconnect with out the need to read // password from file or user input over and over again. Preferably, the // password should be stored in some kind of same memory or encrypted. However, // for the time being I'm ok with this, since attaching a debugger is probably // only allowed for the owning user, so no-one can peek at the memory. // // Revision 1.5 2001/01/19 16:30:30 cholm // Revisited the Run database classes. Deleted old implemtation via BrRun, // and put in BrDbRun, BrDbFile, BrDbMagnet, BrDbConditions*, and // BrDbShiftReport. A description will be posted to brahms-dev-l soon. // // Revision 1.4 2000/08/15 22:24:03 hagel // Changes to fit BRAHMS DB convention // // Revision 1.3 2000/08/10 22:00:17 hagel // First version of small fixes as per Christian suggestion // // Revision 1.2 2000/08/09 22:27:24 hagel // Changes to implement BrRun //