Skip to content

Commit

Permalink
Commit from Ubuntu 18 version.
Browse files Browse the repository at this point in the history
Added auto search option for env. paths.
  • Loading branch information
deepaksamuel committed Oct 22, 2019
1 parent eb2b38b commit 365b54f
Show file tree
Hide file tree
Showing 10 changed files with 156 additions and 16 deletions.
115 changes: 110 additions & 5 deletions Simple.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1342,11 +1342,11 @@ QStringList Simple::CreateParticleSource(QString particle, QString sourceType, Q
commands.append(QString("/gps/pos/shape %1").arg(sourceType) );
}

// else if((sourceType=="Sphere"))
// {
// commands.append("/gps/pos/type Surface");
// commands.append(QString("/gps/pos/shape %1").arg(sourceType) );
// }
// else if((sourceType=="Sphere"))
// {
// commands.append("/gps/pos/type Surface");
// commands.append(QString("/gps/pos/shape %1").arg(sourceType) );
// }

else if ((sourceType=="Cube" )|| (sourceType =="Cylinder") || (sourceType=="Sphere")) {
commands.append("/gps/pos/type Volume");
Expand Down Expand Up @@ -2397,3 +2397,108 @@ void Simple::on_switch_off_mag_fields_stateChanged(int arg1)
o->setMagFieldOff(ui->switch_off_mag_fields->isChecked());
UpdateGeometry();
}

void Simple::on_auto_search_g4variables_clicked()
{
QMessageBox::information(this, tr("Warning"),
tr("For this process to work properly, all your geant4 data files must be inside a single folder, say G4DATA, which you will set in the next dialog box. The program will then automatically set the paths to the datasets."));

QString dir = QFileDialog::getExistingDirectory(this, "Select a directory inside which all your G4 datasets reside..");

QDirIterator dirIt(dir, QDirIterator::Subdirectories);

QStringList dir_keys{"pixe/alpha/l/pwba/l3-24.dat","z72.a185","RoughESRGrease_LUTR.dat","pi0pi0.dat","ENSDFSTATE.dat","table_radius_hfb.dat","frldm.dat","ThermalScattering/Coherent/FS/al_metal.z","livermore/comp/ce-cs-47.dat","z65.a150","alpha/inel34"};
QStringList g4_ds_env_var{"G4PIIDATA","G4RADIOACTIVEDATA","G4REALSURFACEDATA","G4SAIDXSDATA","G4ENSDFSTATEDATA","G4INCLDATA","G4ABLADATA","G4NEUTRONHPDATA","G4LEDATA","G4LEVELGAMMADATA","G4PARTICLEXSDATA"};
// QStringList g4_ds_env_paths;


// we search for the keys in the folder and retrieve the folder name. This will ensure that this works even if the version of the dataset changes
while(dirIt.hasNext()){
//qDebug()<<dirIt.next();
QString folder = dirIt.next();
//int i=0;
if(folder.contains(dir_keys.at(0))){
folder= folder.remove(dir_keys.at(0));
dbManager->SetEnvVar(g4_ds_env_var.at(0),folder);
output(QString("Setting %1 to %2").arg(g4_ds_env_var.at(0)).arg(folder));

}

else if(folder.contains(dir_keys.at(1)) && folder.contains("RadioactiveDecay")){
folder= folder.remove(dir_keys.at(1));
dbManager->SetEnvVar(g4_ds_env_var.at(1),folder);
output(QString("Setting %1 to %2").arg(g4_ds_env_var.at(1)).arg(folder));
}

else if(folder.contains(dir_keys.at(2))){
folder= folder.remove(dir_keys.at(2));
dbManager->SetEnvVar(g4_ds_env_var.at(2),folder);
output(QString("Setting %1 to %2").arg(g4_ds_env_var.at(2)).arg(folder));
}

else if(folder.contains(dir_keys.at(3))){
folder= folder.remove(dir_keys.at(3));
dbManager->SetEnvVar(g4_ds_env_var.at(3),folder);
output(QString("Setting %1 to %2").arg(g4_ds_env_var.at(3)).arg(folder));
}

else if(folder.contains(dir_keys.at(4))){
folder= folder.remove(dir_keys.at(4));
dbManager->SetEnvVar(g4_ds_env_var.at(4),folder);
output(QString("Setting %1 to %2").arg(g4_ds_env_var.at(4)).arg(folder));
}

else if(folder.contains(dir_keys.at(5))){
folder= folder.remove(dir_keys.at(5));
dbManager->SetEnvVar(g4_ds_env_var.at(5),folder);
output(QString("Setting %1 to %2").arg(g4_ds_env_var.at(5)).arg(folder));
}

else if(folder.contains(dir_keys.at(6))){
folder= folder.remove(dir_keys.at(6));
dbManager->SetEnvVar(g4_ds_env_var.at(6),folder);
output(QString("Setting %1 to %2").arg(g4_ds_env_var.at(6)).arg(folder));
}

else if(folder.contains(dir_keys.at(7))){
folder= folder.remove(dir_keys.at(7));
dbManager->SetEnvVar(g4_ds_env_var.at(7),folder);
output(QString("Setting %1 to %2").arg(g4_ds_env_var.at(7)).arg(folder));
}
else if(folder.contains(dir_keys.at(8))){
folder= folder.remove(dir_keys.at(8));
dbManager->SetEnvVar(g4_ds_env_var.at(8),folder);
output(QString("Setting %1 to %2").arg(g4_ds_env_var.at(8)).arg(folder));
}
else if(folder.contains(dir_keys.at(9)) && folder.contains("PhotonEvaporation")){
folder= folder.remove(dir_keys.at(9));
dbManager->SetEnvVar(g4_ds_env_var.at(9),folder);
output(QString("Setting %1 to %2").arg(g4_ds_env_var.at(9)).arg(folder));
}
else if(folder.contains(dir_keys.at(10))){
folder= folder.remove(dir_keys.at(10));
dbManager->SetEnvVar(g4_ds_env_var.at(10),folder);
output(QString("Setting %1 to %2").arg(g4_ds_env_var.at(10)).arg(folder));
}

}
//refresh
ui->db_type->setCurrentIndex(1);
ui->db_type->setCurrentIndex(0);


// G4_ENV_VARIABLE FILE INSIDE THE FOLDER DATASET LOCATION
//0 G4PIIDATA g4data/G4PII.1.3/G4PII1.3/pixe/alpha/l/pwba/l3-24.dat /home/samuel/g4/g4-data/G4PII1.3
//1 G4RADIOACTIVEDATA g4data/G4RadioactiveDecay.5.3/RadioactiveDecay5.3/z72.a185 /home/samuel/g4/g4-data/RadioactiveDecay5.3
//2 G4REALSURFACEDATA g4data/G4RealSurface.2.1.1/RealSurface2.1.1/RoughESRGrease_LUTR.dat /home/samuel/g4/g4-data/RealSurface2.1.1
//3 G4SAIDXSDATA g4data/G4SAIDDATA.2.0/G4SAIDDATA2.0/pi0pi0.dat /home/samuel/g4/g4-data/G4SAIDDATA2.0
//4 G4ENSDFSTATEDATA g4data/G4ENSDFSTATE.2.2/G4ENSDFSTATE2.2/ENSDFSTATE.dat /home/samuel/g4/g4-data/G4ENSDFSTATE2.2
//5 G4INCLDATA g4data/G4INCL.1.0/G4INCL1.0/table_radius_hfb.dat /home/samuel/g4/g4-data/G4INCL1.0
//6 G4ABLADATA g4data/G4ABLA.3.1/G4ABLA3.1/frldm.dat /home/samuel/g4/g4-data/G4ABLA3.1
//7 G4NEUTRONHPDATA g4data/G4NDL.4.5/G4NDL4.5/ThermalScattering /home/samuel/g4/g4-data/G4NDL4.5
//8 G4LEDATA g4data/G4EMLOW.7.7/G4EMLOW7.7/comp/ce-cs-47.dat /home/samuel/g4/g4-data/G4EMLOW7.7
//9 G4LEVELGAMMADATA g4data/G4PhotonEvaporation.5.3/PhotonEvaporation5.3/z65.a150 /home/samuel/g4/g4-data/PhotonEvaporation5.3
//10 G4PARTICLEXSDATA g4data/G4PARTICLEXS.2.0/G4PARTICLEXS2.0/alpha/inel34 /home/samuel/g4/g4-data/G4PARTICLEXS2.0


}
2 changes: 2 additions & 0 deletions Simple.h
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,8 @@ private slots:

void on_switch_off_mag_fields_stateChanged(int arg1);

void on_auto_search_g4variables_clicked();

private:
Ui::Simple *ui;
G4UImanager* UImanager;
Expand Down
2 changes: 1 addition & 1 deletion SimpleDatabaseManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ QStringList SimpleDatabaseManager::GetListOfEnvVarValues()
void SimpleDatabaseManager::SetEnvVar(QString name, QString path)
{
QSqlQuery query;
QString sqlcommand = QString("UPDATE env_vars SET env_var='%1' WHERE value='%2'").arg(path).arg(name);
QString sqlcommand = QString("UPDATE env_vars SET value='%1' WHERE env_var='%2'").arg(path).arg(name);
qDebug()<<sqlcommand;
query.exec(sqlcommand);

Expand Down
2 changes: 2 additions & 0 deletions SimpleDetectorConstruction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
#include "G4Orb.hh"
#include "G4Sphere.hh"
#include "G4Trd.hh"
#include "G4Tubs.hh"
#include "G4Trap.hh"
#include "G4LogicalVolume.hh"
#include "G4VPhysicalVolume.hh"
#include "G4PVPlacement.hh"
Expand Down
2 changes: 1 addition & 1 deletion SimpleDetectorConstruction.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#include "G4TransportationManager.hh"
#include "G4FieldManager.hh"
#include "SimpleSteppingAction.h"
#include <G4GDMLParser.hh>
//#include <G4GDMLParser.hh>
#include "G4GlobalMagFieldMessenger.hh"
#include "SimpleObject.h"

Expand Down
Binary file modified db.sqlite
Binary file not shown.
2 changes: 1 addition & 1 deletion physics_lists/F04PhysicsListMessenger.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
#include "globals.hh"

#include "F04PhysicsListMessenger.hh"
#include "F04PhysicsList.hh"
#include "PhysicsList_MuDecayWithSpin.hh"

#include <G4UIdirectory.hh>
#include "G4UIcmdWithABool.hh"
Expand Down
2 changes: 1 addition & 1 deletion physics_lists/PhysListEmStandard.cc
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@

#include "G4StepLimiter.hh"

#include "F04PhysicsList.hh"
#include "PhysicsList_MuDecayWithSpin.hh"

#include "G4LivermoreBremsstrahlungModel.hh" // ku
#include "G4LivermorePhotoElectricModel.hh"
Expand Down
Loading

0 comments on commit 365b54f

Please sign in to comment.