20#include "BDSMySQLTable.hh"
21#include "BDSMySQLVariable.hh"
24#include "G4Version.hh"
30BDSMySQLTable::BDSMySQLTable (G4String aTableName)
33 G4cout << __METHOD_NAME__ <<
" - creating new table named: " << aTableName << G4endl;
36 itsTableName = aTableName;
40void BDSMySQLTable::AddVariable(G4String aName, G4String aType)
45 if(!isValidVarType(aType))
48 G4cout << __METHOD_NAME__ <<
" - adding variable: " << aName <<
" " << aType <<
" to table " << GetName() << G4endl;
53 G4cout << __METHOD_NAME__ <<
" - nVariables = " << GetNVariables() << G4endl;
57void BDSMySQLTable::Print()
59 G4cout << GetName() << G4endl;
60 for(
int i=0; i<itsNVariables; i++)
61 {GetVariable(i)->Print();}
66 for (G4int i=0; i<(G4int)itsVar.size(); i++)
68#if G4VERSION_NUMBER > 1099
69 if (G4StrUtil::icompare(itsVar[i]->GetName(), aVarName) == 0)
71 G4String::caseCompare cmpmode = G4String::ignoreCase;
72 if( (itsVar[i])->GetName().compareTo(aVarName,cmpmode)==0)
84void BDSMySQLTable::SetValidVarTypes(){
85 _validVarTypes.push_back((G4String)
"DOUBLE");
86 _validVarTypes.push_back((G4String)
"INTEGER");
87 _validVarTypes.push_back((G4String)
"STRING");
91G4bool BDSMySQLTable::isValidVarType(G4String val){
92 G4bool result =
false;
93 for(std::vector<G4String>::const_iterator iter = _validVarTypes.begin(); iter != _validVarTypes.end(); ++iter){
94 if((*iter) == val) result =
true;
99BDSMySQLTable::~BDSMySQLTable()
104void BDSMySQLVariable::Print(){
105 G4cout << __METHOD_NAME__ << G4endl;
109 if(varType==
"DOUBLE") G4cout <<
GetDblValue(i) << G4endl;
110 if(varType==
"INTEGER")G4cout <<
GetIntValue(i) << G4endl;
111 if(varType==
"STRING")G4cout <<
GetStrValue(i) << G4endl;
A variable representation for mysql loader.
G4int GetNVariables() const
Accessor.
G4String GetName() const
Accessor.
G4double GetDblValue(G4int itemN) const
Accessor.
G4String GetVarType() const
Accessor.
G4int GetIntValue(G4int itemN) const
Accessor.
G4String GetStrValue(G4int itemN) const
Accessor.