This project runs a Geant4 simulation of the NEVOD experiment.
All input and output data is stored using ROOT framework.
make buildBuilds the simulation service.
make runRuns the simulation.
make stopStops the simulation.
make prepare-terminal-for-visualizationPrepares your terminal for showing graphics from inside the container.
You can change how the simulation works by editing the config file. (See example)
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.
Turn on/off parts of the system:
build_nevod_only,build_cwd,build_sct,build_decor,build_eas,build_prisma,build_uran
-
HeaderTree
EventIDPrimaryParticleIDParticleAmountThetaPhi
-
ParticlesTree
ParticleIDParticleNumCoordinateX, CoordinateY, CoordinateZMomentumX, MomentumY, MomentumZEnergy
-
RunHeaderTree
EventIDPrimaryParticleIDParticleAmount
-
EventTree
EpochTheta,PhiThetaReconstructed,PhiReconstructedEnergyDepositionParticleCountTrackLenghMuonCountEnergyStart,EnergyEndDurationDECOR_values,DECOR_i_indices,DECOR_j_indices,DECOR_k_indicesDECORW_values,DECORW_i_indices,DECORW_j_indices,DECORW_k_indicesSCT_values,SCT_i_indices,SCT_j_indices,SCT_k_indicesCherenkovWD_values,CherenkovWD_i_indices,CherenkovWD_j_indices,CherenkovWD_k_indices,CherenkovWD_l_indicesParticleIDParticleNumCoordinateX, CoordinateY, CoordinateZMomentumX, MomentumY, MomentumZEnergy
- 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)