Giter Site home page Giter Site logo

darkgeant4's Introduction

DarkGeant4

DarkGeant4 is a Geant4 front-end whose purpose is to provide a generic Geant4 framework that minimizes startup time by being user friendly.

Dependencies

Geant4.9.6 and lua5.2+ is required. Please be sure to have lua5.2-dev packages installed on your computer, otherwise the program simply won't compile.

Supported Platforms

RHEL 6/7, its derivatives and Ubuntu 16.04 are fully supported. Mac OSX 10.13.1 is also supported. Instructions on installing DarkGeant4 and Geant4.x can be found within the wiki for the various platforms.

Platforms not officially supported may still be able to run DG4, provided that the necessary dependencies are met.

Known working but unsupported platforms

Ubuntu 14.04 (cmake3 needs a ppa)

Debian 8 Jessie (cmake3 needs backport)

Fedora 25 (Works with stock repo's)

Building DarkGeant4

In the working directory, type the following commands to build the application. Be aware the commands may need some modifications to suit your particular environment.

mkdir build
cd build
cmake -DGeant4_DIR=/path/to/Geant4/dir ../
make

If you do not have Geant4 installed, please see the wiki for hints.

Basic proton run.

./DarkGeant4 -vis

A window should be rendered on your screen with a basic cube volume (Presently made out of liquid argon).

To see some action happen on screen, select your terminal and press enter. The code is presently waiting for a carriage return before it executes the run phase.

Runtime Arguments

Pass the following command if you wish to have DarkGeant4 open a Geant4 rendering window. Note, rendering will cause your simulation to run for a longer period of time. In some cases, Geant4 may not be able to render your simulation if given a large enough world volume.

-vis

Pass the following command if you wish to have DarkGeant4 limit the information outputted to the terminal. Note, outputting data to the terminal will cause your simulation to run for a longer period of time.

-lim-output

Pass the following if you wish to have DarkGeant4 load a specific module of configuration.

-module <module name>

To specify the amount of threads you wish DarkGeant4 to use during simulations, pass the following command

-num-threads #threads

where #threads must be an integer value greater than or equal to 1.

Using Python scripts for data analysis

The python scripts are written in python3, so be sure you have a python3 interpreter installed on your system with the necessary dependencies.

As of the time of this writing, scripts are separated by directories and further split into separate files to increase maintainability. To run one a script, simply type the following

python3 <dir>
ex.
python3 Histogram

Be sure to place associated files in the top directory, ie if you path is scripts/DarkGeantHelperScripts/Histogram, be sure to place data in scripts/DarkGeantHelperScripts/

Collaborators

Emma Davenport (Lead Developer - UTA Graduate Student) DarkGeant4

Hunter Sullivan (Developer - UTA Graduate Student) CorsikaToDarkGeant4Converter

darkgeant4's People

Contributors

davenport-physics avatar hcsullivan12 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

darkgeant4's Issues

Events generated on the fly need more options

With multiple primary particles per event, the pre-existing Lua interface for events generated without exterior data is now fairly limited with the present code base.

There ought to be a new variable, maybe "Primaries_Per_Event" that stores an integer and that'll be used to determine how many primaries we should put in a single event.

Second, it may be fruitful to introduce an energy range for the particles that are generated. Presently all particles will have the same starting energy.

Third, it may be fruitful to introduce the ability to use a function for momentum and for particle name

Port DarkGeant4 to Geant4.10.x

With further research, it has now become readily apparent that multicore utilization will be undesirably limited if built against Geant4.9.6.

Corsika output conversion

Corsika is an application that simulates particle showers. Being able to take the data generated from Corsika and using it to simulate particle showers through various detectors will increase the applicability of DarkGeant4.

A script written in any preferred language (python, lua, lisp, perl...?) would be sufficient to accomplish this goal.

Corsika Website

Associated Documentation

Proper Formatting of DarkGeantOutput.dat file

Presently if you view a portion of any DarkGeantOutput.dat file, you'll notice that the fields don't align with their respective tag usually. Fixing this will enhance our ability to parse the data by representing the data in a clear and concise manner.

The outputted precision must be maintained

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.