Comments (11)
Hello,
to my knowledge, ROOT is now needed for Gate, there is no more cmake option to compile Gate without ROOT.
David
from gate.
Ah okay. The following in the CMakeList.txt file and the installation wiki convolutes that issue a little bit.
# Option for Root use
SET(GATE_USE_ROOT ON)
SET(GATE_ANALYSIS_USE_GENERAL ON)
SET(GATE_ANALYSIS_USE_FILE ON)
from gate.
exact, you're right ! I admit I never try to compile without root ...
Could you retrieve the patch you mention ?
from gate.
The patch that I saw in the original message thread was found here. It looks like it was something done in the work towards v7.0.
Which would be the better option: getting the patch adjusted the current code, or removing the option of compiling without root?
from gate.
thanks ... I don't know which one is better. On my side I may be tempted to remove the option of compiling without root, but I don't know if other people find it useful.
The patch cannot be applied easily because the code change a bit since then ...
from gate.
I was the author of the aforementioned patch. I tried to update it, but ROOT dependencies are now so uniformly scattered in the source code that I'd rather vote to simply drop the "compile without ROOT" option.
from gate.
ok, let's do like that so: @patayg dont spend time to update the patch, eventually could you please instead remove the option to compile without root (and make a pull request) ?
from gate.
I guess I am a bit late to join the discussion, but I would like to mention that in my previous project (IceCube), we had a code base that is of similar scale as GATE, and in which we also were trying to use ROOT as a library. We ran into a couple of unpleasant surprises that made us decide to make the effort of enabling ROOT-free builds of our software. Basically we would have liked to use ROOT as a library, but ROOT thinks of itself as a framework that is in charge of everything, and it is doing many more things behind your back than you think (memory management, LOTS of global variables, access to home directory), even when all you are trying to do is to create a simple histogram and save it into a file.
So I would be in favor of keeping our GATE code base similarly defensive, and to try to support ROOT-free builds. On the other hand I understand that this involves quite a bit of extra work, at least on the short/medium term. On the long term it might actually save time (if my scaremongering turns out to be justified and relevant to GATE...).
If you like I could try to obtain a more specific list of ROOT trouble points from the IceCube software gurus, if that could help to decide how to act on this with GATE.
from gate.
Actually, the "compile without ROOT" flag is removed from the CMake options since the commit 5fbb437, so it should not cast any problem for a 'regular' user.
Still, it would be a nice feature to have a ROOT-free build with fewer dependencies at the cost of limited functionality, e.g. no ARF modeling, lack of several actors and ROOT output.
from gate.
I think everyone agrees ROOT is not great but I've looked for alternative libraries that can write ROOT histograms and TTree and such and did not find any. Many actors do use ROOT classes, so removing it basically only leaves you with the various voxelized dose actors, wouldn't it? To me that sounds like a very limited version of Gate.
In Geant4 there is the source/analysis/g4tools/include/tools
directory, where there are appears to be a minimum implementation of some of ROOTs classes minus the lovely framework features (rroot and wroot subdirs). Perhaps we can simply copy/link to that.
from gate.
Gate needs ROOT
from gate.
Related Issues (20)
- CT imaging on a mesh model HOT 1
- SPECT fanbeam collimator HOT 2
- Export of CT-data
- Infinite loop/stuck particle in voxelized phantoms with emstandard_opt4 and GATE v9.3 HOT 3
- gjs executable crash - Gate9 HOT 4
- Problems after vGate9.3 installation HOT 2
- Issue with GateVImageVolume.cc (l.734)
- Ubuntu 20.04 Snap Version of Gate Permission Issues HOT 1
- Issue with GateSourcePhaseSpace.cc if the source is in ROOT format after installing V9.3
- Image layers on docker image for Gate9.3 doesn't match with script versions
- Attach actor to "world" volume causing summary to malfuntion. HOT 13
- Whether Gate can output the energy information of secondary particles?
- segmentation fault when using SinglesDigitizer and ROOT output HOT 1
- separating slash in branch name hinders easy plotting HOT 2
- for pPs + prompt gamma simulation with Gate
- material issue!
- setSkipEqualMaterials of ImageRegularParametrisedVolume setting to zero causing system to complaining geometry overlapping
- /gate/source/F-18/imageReader/linearTranslator/setScale 1 MBq
- Directional Keys Not Working in Gate Software
- Creating a circular source in Gate
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gate.