Giter Site home page Giter Site logo

sebassaras02 / rpt_nai_4array Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 602.98 MB

SAS GEANT4 application for Radioactive Particel tracking with 4 detectors recording Edep deposited

CMake 1.51% C++ 93.44% C 3.63% Shell 1.43%
c-plus-plus geant geant4 geant4-simulation

rpt_nai_4array's Introduction

SAS Application for Radioactive Particle Tracking in Pipes

The application is built to simulate the RPT along opaque ducts. The quantities recorded are energy deposition spectra and doses (TOF is developing).

Installation

Copy the repository in your Linux operative system. Then create a folder where you are going to compile the application (build folder).

To compile

mkdir build
cd build
cmake ..
make -j (number of threads of your PC)

To execute without bash mode

./naidetector 

To execute in bash mode

./naidetector  macrocommand.mac

SAS Application Features Reference

Detector position

This macrocommand let the user change the position of the detector. It is available for each detector, just change the number of the detector.

  /NaI/detector1/dim **value**
Parameter Type Description
X, Y, and Z Float Example: -10 -10 -20 cm

Detector angle

The use can select the angle of rotation for each detector following the next macrocommand:

  /NaI/detector1/ang **value**
Parameter Type Description
0-360 deg Float Example: 90 deg

Detector rotation axes

In addition, the user can select the axes for the rotation. rotX for X, rotY for Y, and rotZ for Z.

  /NaI/detector1/rotX  **value**
Parameter Type Description
true or false Bool Example: true

Pipe construction

The user can choose between a cylindrical or box pipe. The geometry choosen needs to be activaed first, and the set the dimensions. The input dimensions are the half in each axes, respectively.

For box pipes:

  /pipe/box/activate true
  /pipe/box/dim **value**
Parameter Type Description
X, Y, and Z Float Example: -10 -10 -20 cm

For cylindrical pipes:

  /pipe/cyl/activate true
  /pipe/cyl/dim **value**

You have to thickness, radious and the half of the length values in cm.

Parameter Type Description
thickness, radious, and half of length Float Example: -10 -10 -20 cm

The default units of the macrocommands for geometry changes are all in centimetters, but you can change that in detectormessenger class.

add(num1, num2)

Takes two numbers and returns the sum.

Visualization

MULTI-THREAD MODE: If you would like to see geometry changes done through macrocommands, you must turn off the initialization in main function, and the number threads do too. You have to set the number of threads and initilizate the run manager in your macrocommands. If you want to change the geometry through macrocommands provided follow the next steps:

./naidetector 
/NaI/detector1/dimensions -40 10 0 cm
/NaI/detector1/angle 90 deg
{run whatever order that you want}
/run/numberOfThreads 6
/run/initialize 
{run your primary generator specifications}
/run/beamOn 10

If you see any errors in red color (The scene has no extent), it is because the run manager is not initializated until you run the last code, so vis.mac fails. You have to ignored them

SINGLE-THREAD MODE: If you would like to see geometry changes done through macrocommands, you can set the number of threads and initilizate the run manager in the main function. To see the changes execute follow the next steps:

./naidetector 
/NaI/detector1/dimensions -40 10 0 cm
/NaI/detector1/angle 90 deg
/run/reinitializeGeometry 
{run whatever order that you want}
{run your primary generator specifications}
/run/beamOn 10

Acknowledgements

This application and research was founded by PIGR-19-09 project for the Nuclear Science Department (DCN) in the Escuela Politécnica Nacional (EPN), Quito-Ecuador.

Contacts:

License

You are free to use this application and improve it for educational purposes. The commercial use it is not allowed without the owner permission (Sebastian Sarasti Zambonino).

rpt_nai_4array's People

Contributors

sebassaras02 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

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.