My environment variable is set to G4LEDATA = c:/geant4/geant4.8.0.p01/data/G4EMLOW4.0 but when I try to run any G4LowEnergy processes, I get an Exception error message stating that the G4LEDATA environment variable is not set. I inspected the G4LowEnergy___ include and source files, and it appears that when a low energy process calls G4CompositeEMDataSet, the data filename created requires a Z range, but nowhere does this Z range appear to be declared. If Z's not declared, the generated filename can't ever exist. How can I fix this problem? Thanks!
I cannot reproduce your problem. If the G4LEDATA variable is set correctly, the code works properly (and the user does not have to bother about the internal details of the algorithms loading the data sets from the data library file). Please note that a new version of the Geant4 Low Energy Electromagnetic data set has been released with Geant4 8.1; it is required by the new version of the lowenergy package.
Does the new lowenergy package require Geant4.8.1 or does 4.8.1 require the new package? Are you including any header files other than the G4LowEnergy[process].hh files in order for these processes to run? Do I need to add a header file for some kind of low energy process manager? Thanks for you help.
Do you think re-building Geant4.8.0 after installing EMLOW4.0 might help?
The lowenergy package is released as part of Geant4. The newest version comes with Geant4 8.1 release. For the correct usage of the Geant4 lowenergy processes you may want to have a look at a few of the advanced examples (geant4/examples/advanced/brachytherapy or /radioprotection or /medical_linac), which extensively use this physics package; each example comes with a detailed README file documenting it, and further information in the Geant4 Advanced Examples web site http://www.ge.infn.it/geant4/examples Best wishes, Maria Grazia Pia
Thank you for your quick feedback, Maria. I have examined the radioprotection and brachytherapy examples and compiled them (clean compiles). I receive the same Exception error message for these examples as I do with my own code when it tries to access the low energy data, but the env.sh clearly sets up G4LEDATA with the path to the EMLOW data. I have tried using EMLOW2.3, EMLOW3.0, and EMLOW4.0 with no luck. Yesterday evening I reinstalled geant4.8.0 and the low energy data. This did not help. I'll try installing Geant4.8.1, in the meantime. I can see no other solutions, short of editing the G4CompositeEMDataSet.cc to allow for setting up the zMin and zMax values in the constructor. I'm using a WindowsXP OS and compiling the code using the Cygwin Linux environment (which is where my environment variables are set up--maybe this is the problem?). I have the Microsoft Visual Studio 8 and Microsoft Platform SDK.
The difference in environments was the problem, after all, I've found. The "Installing Geant on Windows" discusses cygwin setup and setting environment variables within but makes no mention that the programs must be executed from within the cygwin shell. I've been clicking on the .exe's in the folder, which means that I had to make a batch file to declare environment variables within a DOS command prompt.