19#include "BDSMySQLTable.hh"
20#include "BDSMySQLVariable.hh"
23#include "G4Version.hh"
29BDSMySQLTable::BDSMySQLTable (G4String aTableName)
32 G4cout << __METHOD_NAME__ <<
" - creating new table named: " << aTableName << G4endl;
35 itsTableName = aTableName;
39void BDSMySQLTable::AddVariable(G4String aName, G4String aType)
44 if(!isValidVarType(aType))
47 G4cout << __METHOD_NAME__ <<
" - adding variable: " << aName <<
" " << aType <<
" to table " << GetName() << G4endl;
52 G4cout << __METHOD_NAME__ <<
" - nVariables = " << GetNVariables() << G4endl;
56void BDSMySQLTable::Print()
58 G4cout << GetName() << G4endl;
59 for(
int i=0; i<itsNVariables; i++)
60 {GetVariable(i)->Print();}
65 for (G4int i=0; i<(G4int)itsVar.size(); i++)
67#if G4VERSION_NUMBER > 1099
68 if (G4StrUtil::icompare(itsVar[i]->GetName(), aVarName) == 0)
70 G4String::caseCompare cmpmode = G4String::ignoreCase;
71 if( (itsVar[i])->GetName().compareTo(aVarName,cmpmode)==0)
83void BDSMySQLTable::SetValidVarTypes(){
84 _validVarTypes.push_back((G4String)
"DOUBLE");
85 _validVarTypes.push_back((G4String)
"INTEGER");
86 _validVarTypes.push_back((G4String)
"STRING");
90G4bool BDSMySQLTable::isValidVarType(G4String val){
91 G4bool result =
false;
92 for(std::vector<G4String>::const_iterator iter = _validVarTypes.begin(); iter != _validVarTypes.end(); ++iter){
93 if((*iter) == val) result =
true;
98BDSMySQLTable::~BDSMySQLTable()
103void BDSMySQLVariable::Print(){
104 G4cout << __METHOD_NAME__ << G4endl;
108 if(varType==
"DOUBLE") G4cout <<
GetDblValue(i) << G4endl;
109 if(varType==
"INTEGER")G4cout <<
GetIntValue(i) << G4endl;
110 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.