Build Issue with Dependencies

Hello,
I am a student interested in the project idea " Implement Event based Seeding and Multi-Threading" for GSoC19.
As a basic step I am trying to build and play around with the software to get an idea about what it does.

For building, the README says

Both ROOT6 and Geant4 libraries and headers have to be in the path, this is usually achieved by sourcing the thisroot.sh or geant4.sh scripts.

However, I can’t find these scripts in the project repository. Additionally, many links are now dead for example the doxygen reference and the dependencies.

Where can I find these scripts or how can I install these packages? Also as I understand so far from the project description, geant4 need to be updated to accommodate for allpix use model, so do I need to build from sources?

Thanks.
Mohamed

Dear Mohamed,

thanks for getting in touch! I fixed the dead links in the README (Geant4 installation plus our own reference).

The mentioned shell scripts are part of the respective software packages, i.e. ROOT6 and Geant4. After installing them, you should find the scripts in their bin directories. Neither Geant4 nor ROOT6 need to be installed from source, but the headers need to be available. We do a simple compile-time linking against their libraries but do not alter or extend their code in any way.

Since both packages are rather large, maybe try out the Docker image for a very first look around.

Best regards,
Simon

Dear Simon,

Thanks for your quick reply. Indeed I have tried the docker image while I was waiting to build my local version.

Now back to building the project. When I tried to run the same example configuration file as I ran with docker I got an error about missing envar:

G4NEUTRONXSDATA

I checked the geant4 script and couldn’t find any. Looking at the docker file I see that you use 10.03.p03 version and the envar is there pointing to the dataset.

I check thegeant4 repository to find out that they renamed in the current top of branch version 10-5 to G4PARTICLEXSDATA.

I am getting these warnings when I set the missing envar manually to the renamed one:

|17:44:39.894| (WARNING) [I:ElectricFieldReader:detector1] Thickness of sensor in file is 285um but in the model it is 400um
|17:44:39.894| (WARNING) [I:ElectricFieldReader:detector1] Pixel size is (150um,100um) but in the model it is (220um,440um)
|17:44:39.981| (INFO) [I:ElectricFieldReader:detector1] Set electric field with 25x17x92 cells
|17:44:39.981| (WARNING) [I:ElectricFieldReader:detector2] Thickness of sensor in file is 285um but in the model it is 400um
|17:44:39.981| (WARNING) [I:ElectricFieldReader:detector2] Pixel size is (150um,100um) but in the model it is (220um,440um)
|17:44:40.051| (INFO) [I:ElectricFieldReader:detector2] Set electric field with 25x17x92 cells
|17:44:42.582| (WARNING) [I:ROOTObjectWriter] File /home/mmoanis/allpix-squared/output/data.root exists and will be overwritten.

Anyways, I will fallback to the correct version of geant4.

Thanks.
Mohamed

Hi Mohamed,

in Geant4 10.5 they removed this specific dataset and setting the env manually should not be necessary. We have adapted our checking for datasets in v1.3.2, which should compile with Geant4 10.5 without problems.

The other warnings are unrelated to this and just point out, that our example electric field shipped in the repository does not really match the detectors we are simulating - this is something we should probably address… Thanks for reporting!

Best regards,
Simon