#ifndef OPENMC_BANK_H #define OPENMC_BANK_H #include #include "openmc/particle.h" #include "openmc/position.h" #include "openmc/shared_array.h" #include "openmc/vector.h" namespace openmc { //============================================================================== // Global variables //============================================================================== namespace simulation { extern vector source_bank; extern SharedArray surf_source_bank; extern SharedArray collision_track_bank; extern SharedArray fission_bank; extern vector> ifp_source_delayed_group_bank; extern vector> ifp_source_lifetime_bank; extern vector> ifp_fission_delayed_group_bank; extern vector> ifp_fission_lifetime_bank; extern vector progeny_per_particle; extern SharedArray shared_secondary_bank_read; extern SharedArray shared_secondary_bank_write; } // namespace simulation //============================================================================== // Non-member functions //============================================================================== void sort_bank(SharedArray& bank, bool is_fission_bank); void free_memory_bank(); void init_fission_bank(int64_t max); int64_t synchronize_global_secondary_bank( SharedArray& shared_secondary_bank); } // namespace openmc #endif // OPENMC_BANK_H