[Halla12_software] the big question and some hints on running gemc

Maurizio Ungaro ungaro at jlab.org
Wed Dec 15 20:41:10 EST 2010


Hi Zhiwen,

Whatever you do, we all agree that the way to go is store the geometry, sensitivity, magnetic fields, input/output mechanism, etc all external to the core code.

Regarding gemc specifically,  we can have a 1h demo session (bring your laptops) where can build some detector from scratch - that will give you a pretty good idea of the gemc framework and how to build/run a complete simulation. It will also give you a much better view on how to run it / install it, since the documentation you tried is very outdated.  And it will answer your #2.

Wouter:
(I agree with you on your remarks :) ... but it's my fault for not keeping documentation up-to-date)
I worded the last slide wrong, I wasn't referring to magnetic fields but to the fact that the mysql database API might change (certainly the underneath structure of the mysql database will change). This is to allow several developers to work on the same piece of detector at once. Right now its ok to have one main developer per subsystem (TOF, DC) but more than one working on a specific detector need external coordination. Hall-D is coming up with a very nice mysql API and I will give that a try. 

As for your specific question about magnetic fields:
Magnetic fields are supported in the form of a map, or a constant value. They can be multiplied by a constant (-1 to flip them) at run time with a flag.
Two symmetries are supported in the maps: phi-simmetric field and phi-segmented field. We use the phi-simmetric for our solenoid, and the phi-segmented for our torus. Any 3D map will work of course. The name of the field, map field, interpolation routine is all stored in the mysql database.
What is not supported yet is overlaps between several maps. 

My final remark:
You have very valuable programmers in your group that could contribute significantly. For example the database API can be changed or  be improved (I heard very nice ideas on Bison). More output or input formats can be added. The materials are hardcoded in gemc as opposed to be stored externally as they should be. Etc.

sincerely,
mauri



On Dec 15, 2010, at 7:30 PM, Zhiwen Zhao wrote:

> Hi, guys
> 
> The big question #1, shall we adopt gemc for solid simulation?
> The big question #2, if we decide to use gemc, is it realistic to have a working version of solid simulation by next solid meeting at end of January?
> 
> (Mauri, I think you would say yes to the first question. but what is your take on the #2 from the point of view of code adoption?)
> 
> You may want to play with it to form an opinion to either of the questions and here are some hints you may find useful when you try to run it
> 
> =====================================
> gemc wiki
> http://clasweb.jlab.org/wiki/index.php/Gemc
> 
> without installation, you can run it on ifarml (both 32 and 64bit), but because the opengl is so slow this way, you better only run batch mode with option "-USE_QT=0"
> 
> To have it running in interactive mode, I use rpm to install them on my local linux machine.
> install with yum and the repositary is good idea , but if your system is not one of prerecompiled version like mine (fedora 14 x64), you can download rpms and install them directly from
> http://www.jlab.org/12gev_phys/RPMS/
> choose a version similar to your OS. eg I choose fc/11/x86_64
> I installed all rpms in the directory even though I think maybe not all of them are needed.
> everything will be installed at /usr/local/jlab_software
> So don't worry some of your local copy program like root or geant4 will be messed up.
> but there could be still some problem when you install. For me, it complains that libssl.so.8 and libcrypto.so.8 are needed.
> I have openssl installed, but newer version with libssl.so.10 and libcrypto.so.10. So I force the installation by ignoring dependence with "rpm -i --nodeps *rpm"
> Then before I can run it, I trick the gemc to think I have libssl.so.8 and libcrypto.so.8 by a link
> "ln -s /usr/lib64/libssl.so.10 libssl.so.8"
> "ln -s /lib64/libcrypto.so.10 libcrypto.so.8"
> 
> For how to run it, see here
> http://clasweb.jlab.org/wiki/index.php/Gemc_how_to_run_it
> 
> Note: A possible bug, with the option "-GT=OTOF", the program quit and complains " >>> gemc Construction: >>  Reached limits of 20 max hierarchy for <>. Exiting."
> =====================================
> 
> 
> Zhiwen
> 
> 
> 




More information about the Halla12_software mailing list