3 #define LogDebug(exp) std::cout<<"DEBUG: " <<__FILE__<<": "<<__LINE__<<": "<< exp << std::endl
9 SolidParam(
int iid,
string iname,
double ixLength,
double iyLength,
double izLength):
10 id(iid), name(iname), xLength(ixLength), yLength(iyLength), zLength(izLength)
28 "SELECT lvID, xRel, yRel, zRel, rotX, rotY, rotZ"
29 " FROM PhysicalVolumes WHERE pvName LIKE '%s_%%'",
33 TSQLResult *res = server->Query(query);
34 int nrow = res->GetRowCount();
38 TSQLRow *row = res->Next();
39 lvID = atoi((*row)[0]);
40 place[0] = atof((*row)[1]);
41 place[1] = atof((*row)[2]);
42 place[2] = atof((*row)[3]);
43 rot[0] = atof((*row)[4]);
44 rot[1] = atof((*row)[5]);
45 rot[2] = atof((*row)[6]);
57 " FROM LogicalVolumes WHERE lvID = %i",
61 TSQLResult *res = server->Query(query);
62 int nrow = res->GetRowCount();
66 TSQLRow *row = res->Next();
67 sID = atoi((*row)[0]);
78 " SELECT xLength, yLength, zLength "
79 " FROM SolidBoxes WHERE sID = %i",
83 TSQLResult *res = server->Query(query);
84 int nrow = res->GetRowCount();
88 TSQLRow *row = res->Next();
89 size[0] = atof((*row)[0]);
90 size[1] = atof((*row)[1]);
91 size[2] = atof((*row)[2]);
97 std::string _server_name =
"seaquestdb01.fnal.gov",
99 std::string _user_name =
"seaguest",
100 std::string _password =
"qqbar2mu+mu-",
101 std::string _input_shcema =
"geometry_G17_run3"
104 sprintf(serverUrl,
"mysql://%s:%d", _server_name.c_str(), _port);
105 TSQLServer *server = TSQLServer::Connect(serverUrl, _user_name.c_str(), _password.c_str());
108 sprintf(query,
"USE %s", _input_shcema.c_str());
110 if(!server->Exec(query))
112 std::cout <<
"MySQLSvc: working schema does not exist! Will exit..." << std::endl;
116 vector<string> chamber_names;
117 chamber_names.push_back(
"C1X");
118 chamber_names.push_back(
"C1V");
119 chamber_names.push_back(
"C1U");
120 chamber_names.push_back(
"C2U");
121 chamber_names.push_back(
"C2X");
122 chamber_names.push_back(
"C2V");
123 chamber_names.push_back(
"C3T");
124 chamber_names.push_back(
"C3B");
126 chamber_names.push_back(
"osta4");
127 chamber_names.push_back(
"osta3");
128 chamber_names.push_back(
"osta2");
129 chamber_names.push_back(
"osta1");
131 chamber_names.push_back(
"H1y");
132 chamber_names.push_back(
"H1x");
133 chamber_names.push_back(
"H2y");
134 chamber_names.push_back(
"H2x");
135 chamber_names.push_back(
"H3x");
137 chamber_names.push_back(
"P1V");
138 chamber_names.push_back(
"P2H");
139 chamber_names.push_back(
"P2V");
140 chamber_names.push_back(
"P1H");
142 chamber_names.push_back(
"H4y1L");
143 chamber_names.push_back(
"H4y1R");
144 chamber_names.push_back(
"H4y2L");
145 chamber_names.push_back(
"H4y2R");
146 chamber_names.push_back(
"H4xT");
147 chamber_names.push_back(
"H4xB");
149 for(
int i=0; i<chamber_names.size(); ++i){
150 string name = chamber_names[i];
void get_phys_param(TSQLServer *server, const string &pvName, int &lvID, double *place, double *rot)
void SuperDetector(const std::string &name)
void set_double_param(const std::string &name, const double dval)
void get_soli_param(TSQLServer *server, const int sID, double *size)
void SetupDriftChamber(PHG4Reco *g4Reco, std::string _server_name="seaquestdb01.fnal.gov", int _port=3310, std::string _user_name="seaguest", std::string _password="qqbar2mu+mu-", std::string _input_shcema="geometry_G17_run3")
void set_string_param(const std::string &name, const std::string &sval)
void get_logi_param(TSQLServer *server, const int lvID, int &sID)
void SetActive(const int i=1)
void registerSubsystem(PHG4Subsystem *subsystem)
register subsystem