// ----------------------------------------------------------------------------- void testdb() { // simple test readStuff(9930); readStuff(5662); } // ---- Bool_t readStuff(Int_t runno) { if (!isConnected()) { cout << " === connecting to DB === " << endl; BrMainDb* mainDb = BrMainDb::Instance(); mainDb->SetUserName("query"); mainDb->SetHostName("brahms-db0.rcf.bnl.gov"); mainDb->SetDbName("BrahmsMain"); if (!mainDb->Connect()) { cerr << " *** mainDB is not responding...sorry " << endl; return kFALSE; } if (!mainDb->ConnectToRun()) { cerr << " *** runDB is not responding...sorry " << endl; return kFALSE; } if (!mainDb->ConnectToCalib("insert")) { cerr << " *** calibDB is not responding...sorry " << endl; return kFALSE; } } // do whatever with the DB // let's say we want to read some stuff from the BB counters: // run info BrRunInfoManager* runMan = BrRunInfoManager::Instance(); runMan->Register(runno); // parameter manager BrParameterDbManager* parMan = BrParameterDbManager::Instance(); parMan->SetDbParameterFileName("DetectorParameters.txt"); // calibration manager BrCalibrationManager* calMan = BrCalibrationManager::Instance(); // BB calibration BrBbCalibration* bb = (BrBbCalibration*)calMan-> Register("BrBbCalibration", "BBL"); bb->Use("deltaTdc", BrCalibration::kRead, 44); calMan->Init(); calMan->Print("sl"); runMan->Init(); runMan->Update(); const BrRunInfo* run = runMan->GetCurrentRun(); if(run->GetRunNo() == -1) { cout << "Run " << runno << " is not found by run manager found" << endl; return kFALSE; } // ------ get run info Int_t starttime = run->GetUnixStartTime(); Int_t endtime = run->GetUnixEndTime(); calMan->Update(starttime, endtime); if (!bb->RevisionExists("deltaTdc")) { cerr << " *** no valid revision for run " << runno << endl; return kFALSE; } cout << " For run " << runno << ", deltaTdc tube 1 = " << bb->GetDeltaTdc(1) << endl; return kTRUE; } // ----------------------------------------------------------------------------- Bool_t isConnected() { return (BrMainDb::Instance()->IsConnected() & BrCalibrationsDb::Instance()->IsConnected() & BrRunsDb::Instance()->IsConnected()); }