Skip to content

mawerid/simulation_NEVOD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NEVOD experiment Simulation Project

This project runs a Geant4 simulation of the NEVOD experiment.

All input and output data is stored using ROOT framework.


🚀 How to Use

Build

make build

Builds the simulation service.

Run

make run

Runs the simulation.

Stop

make stop

Stops the simulation.

(Optional) For Visualization

make prepare-terminal-for-visualization

Prepares your terminal for showing graphics from inside the container.


⚙️ Configs

You can change how the simulation works by editing the config file. (See example)

Main Options

  • thread_num → Number of threads (1 = off, -1 = all cores).
  • epochs → How many times to run simulation.
  • batch_size → Data batch size.
  • initial_offset → Start offset for input.
  • input_file_path / output_dir_path → Where to read data and save results.
  • verbose → Extra logging (true/false).
  • use_ui → Show UI if available.
  • seed → Random seed (for reproducibility).
  • save_verbose_output_flag + save_verbose_output_dir → Save detailed logs if enabled.

Build Flags

Turn on/off parts of the system:

  • build_nevod_only, build_cwd, build_sct, build_decor, build_eas, build_prisma, build_uran

📂 Data Structure (ROOT files)

Input File

  • HeaderTree

    • EventID
    • PrimaryParticleID
    • ParticleAmount
    • Theta
    • Phi
  • ParticlesTree

    • ParticleID
    • ParticleNum
    • CoordinateX, CoordinateY, CoordinateZ
    • MomentumX, MomentumY, MomentumZ
    • Energy

Output File

  • RunHeaderTree

    • EventID
    • PrimaryParticleID
    • ParticleAmount
  • EventTree

    • Epoch
    • Theta, Phi
    • ThetaReconstructed, PhiReconstructed
    • EnergyDeposition
    • ParticleCount
    • TrackLengh
    • MuonCount
    • EnergyStart, EnergyEnd
    • Duration
    • DECOR_values, DECOR_i_indices, DECOR_j_indices, DECOR_k_indices
    • DECORW_values, DECORW_i_indices, DECORW_j_indices, DECORW_k_indices
    • SCT_values, SCT_i_indices, SCT_j_indices, SCT_k_indices
    • CherenkovWD_values, CherenkovWD_i_indices, CherenkovWD_j_indices, CherenkovWD_k_indices, CherenkovWD_l_indices
    • ParticleID
    • ParticleNum
    • CoordinateX, CoordinateY, CoordinateZ
    • MomentumX, MomentumY, MomentumZ
    • Energy

TODO

  • write description
  • write tests
  • check for memory leaks all code
  • rewrite using smart pointers
  • add merging of all multiple files into one
  • add saving info about current run (as log file)
  • Completely add EAS, Prisma and Uran experiments to simulation
  • Is it possible to just count the number of photons and convert the data later?
  • Is it possible to use built-in materials from Geant4 for modeling? (iron, concrete, air)

About

NEVOD GEANT4 model

Resources

License

Stars

Watchers

Forks

Packages

No packages published