1 |
pamelats |
1.1 |
#include <iostream> |
2 |
|
|
#include <TString.h> |
3 |
|
|
#include "PamVMCSQLMgr.h" |
4 |
|
|
|
5 |
|
|
|
6 |
|
|
using std::cout; |
7 |
|
|
using std::endl; |
8 |
|
|
|
9 |
|
|
PamVMCSQLMgr * PamVMCSQLMgr::fsql = 0; |
10 |
|
|
|
11 |
|
|
PamVMCSQLMgr * PamVMCSQLMgr::Instance(){ |
12 |
|
|
|
13 |
|
|
if(fsql == 0) { |
14 |
|
|
fsql = new PamVMCSQLMgr(); |
15 |
|
|
} |
16 |
|
|
return fsql; |
17 |
|
|
} |
18 |
|
|
|
19 |
|
|
PamVMCSQLMgr::PamVMCSQLMgr(){ |
20 |
|
|
|
21 |
|
|
TString G4WORKDIR=gSystem->Getenv("G4WORKDIR"); |
22 |
|
|
TString PLATFORM=gSystem->Getenv("PLATFORM"); |
23 |
|
|
|
24 |
|
|
fpathtodata = G4WORKDIR+"/lib/tgt_"+PLATFORM; |
25 |
|
|
fdbhost = gSystem->Getenv("PAM_DBHOST"); |
26 |
|
|
fdbuser = gSystem->Getenv("PAM_DBUSER"); |
27 |
|
|
fdbpsw = gSystem->Getenv("PAM_DBPSW"); |
28 |
|
|
fdbc = TSQLServer::Connect(fdbhost.Data(),fdbuser.Data(),fdbpsw.Data()); |
29 |
|
|
fglt = new GL_TABLES(fdbhost.Data(),fdbuser.Data(),fdbpsw.Data()); |
30 |
|
|
fglparam = new GL_PARAM(); |
31 |
|
|
fglroot = new GL_ROOT(); |
32 |
|
|
fglcalo = new GL_CALO_CALIB(); |
33 |
|
|
|
34 |
|
|
if(fdbc){ |
35 |
|
|
// |
36 |
|
|
// Use UTC in the DB and make timeout bigger |
37 |
|
|
// |
38 |
|
|
stringstream myquery; |
39 |
|
|
myquery.str(""); |
40 |
|
|
myquery << "SET time_zone='+0:00'"; |
41 |
|
|
fdbc->Query(myquery.str().c_str()); |
42 |
|
|
myquery.str(""); |
43 |
|
|
myquery << "SET wait_timeout=173000;"; |
44 |
|
|
fdbc->Query(myquery.str().c_str()); |
45 |
|
|
// |
46 |
|
|
} |
47 |
|
|
|
48 |
|
|
if ( fglt->IsConnected(fdbc) ){ |
49 |
|
|
cout<<"DB was connected.. Information:"<<endl |
50 |
|
|
<<" SQL: "<<fdbc->GetDBMS()<<endl |
51 |
|
|
<<"VERSION: "<<fdbc->ServerInfo()<<endl |
52 |
|
|
<<" HOST: "<<fdbc->GetHost()<<endl |
53 |
|
|
<<" PORT: "<<fdbc->GetPort()<<endl; |
54 |
|
|
|
55 |
|
|
} else { |
56 |
|
|
cout<<"All paths to calibration files will be load from file" |
57 |
|
|
<<fpathtodata+"/calib_path.txt"<<endl; |
58 |
|
|
|
59 |
|
|
//Here I'll implement a possibility to load paths to detector |
60 |
|
|
//calibration files to use software in GRID (without DB) |
61 |
|
|
//in this case standard directory to keep all datafiles |
62 |
|
|
//should be the library directory |
63 |
|
|
|
64 |
|
|
} |
65 |
|
|
} |