#include <G4MPIToolsManager.hh>
Definition at line 44 of file G4MPIToolsManager.hh.
virtual G4MPIToolsManager::~G4MPIToolsManager |
( |
| ) |
|
|
inlinevirtual |
template<typename T >
G4bool G4MPIToolsManager::Merge |
( |
const std::vector< T * > & |
htVector, |
|
|
const std::vector< G4HnInformation * > & |
hnVector |
|
) |
| |
|
inline |
Definition at line 176 of file G4MPIToolsManager.hh.
179 if ( ! htVector.size() )
return true;
182 G4int nofActiveT = 0;
185 for (
G4int i=0; i<
G4int(htVector.size()); ++i ) {
186 auto activation = hnVector[i]->GetActivation();
187 if ( activation ) ++nofActiveT;
190 nofActiveT =
G4int(htVector.size());
193 if ( ! nofActiveT )
return true;
196 if ( ! fHmpi->comm_rank(commRank) ) {
199 <<
" Failed to get MPI commander rank." <<
G4endl
200 <<
" Merging will not be performed.";
206 G4bool finalResult =
true;
208 if ( commRank != fHmpi->rank() ) {
213 description <<
"on rank " << commRank
214 <<
" destination rank: " << fHmpi->rank();
219 auto result = Send(nofActiveT, htVector, hnVector);
221 finalResult =
result && finalResult;
226 description <<
"on rank " << commRank
227 <<
" destination rank: " << fHmpi->rank();
237 description <<
"on rank " << commRank
238 <<
" destination rank: " << fHmpi->rank();
243 auto result = Receive(nofActiveT, htVector, hnVector);
245 finalResult =
result && finalResult;
250 description <<
"on rank " << commRank
251 <<
" destination rank: " << fHmpi->rank();
G4double G4ParticleHPJENDLHEData::G4double result
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
std::ostringstream G4ExceptionDescription
const G4AnalysisVerbose * GetVerboseL3() const
const G4AnalysisVerbose * GetVerboseL4() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4bool GetIsActivation() const
const G4AnalysisVerbose * GetVerboseL1() const
The documentation for this class was generated from the following file: