#ifndef OPENMC_BANK_H #define OPENMC_BANK_H #include #include #include "openmc/particle.h" #include "openmc/position.h" // Without an explicit instantiation of vector, the Intel compiler // will complain about the threadprivate directive on filter_matches. Note that // this has to happen *outside* of the openmc namespace extern template class std::vector; namespace openmc { //============================================================================== // Global variables //============================================================================== namespace simulation { extern std::vector source_bank; extern std::vector fission_bank; extern std::vector secondary_bank; #ifdef _OPENMP extern std::vector master_fission_bank; #endif #pragma omp threadprivate(fission_bank, secondary_bank) } // namespace simulation //============================================================================== // Non-member functions //============================================================================== void free_memory_bank(); } // namespace openmc #endif // OPENMC_BANK_H