Import Geant4 10.7.1 source tree
This commit is contained in:
@@ -312,7 +312,7 @@ std::shared_ptr<G4VNtupleManager> G4RootNtupleFileManager::CreateNtupleManager()
|
||||
= fNtupleManager->GetMainNtupleManager(GetNtupleFileNumber());
|
||||
fSlaveNtupleManager
|
||||
= make_shared<G4RootPNtupleManager>(
|
||||
fState, fgMasterInstance->fBookingManager, mainNtupleManager, fNtupleRowWise, fNtupleRowMode);
|
||||
fState, fBookingManager, mainNtupleManager, fNtupleRowWise, fNtupleRowMode);
|
||||
activeNtupleManager = fSlaveNtupleManager;
|
||||
break;
|
||||
}
|
||||
@@ -374,10 +374,11 @@ G4bool G4RootNtupleFileManager::ActionAtOpenFile(const G4String& /*fileName*/)
|
||||
#endif
|
||||
}
|
||||
|
||||
if ( fNtupleMergeMode == G4NtupleMergeMode::kSlave ) {
|
||||
// G4cout << "Going to create slave ntuples from main" << G4endl;
|
||||
fSlaveNtupleManager->CreateNtuplesFromMain();
|
||||
}
|
||||
// Creating ntuples from main is triggered from the first Fill call
|
||||
// if ( fNtupleMergeMode == G4NtupleMergeMode::kSlave ) {
|
||||
// // G4cout << "Going to create slave ntuples from main" << G4endl;
|
||||
// fSlaveNtupleManager->CreateNtuplesFromMain();
|
||||
// }
|
||||
|
||||
return finalResult;
|
||||
}
|
||||
|
||||
@@ -63,7 +63,8 @@ G4RootPNtupleManager::G4RootPNtupleManager(const G4AnalysisManagerState& state,
|
||||
fNtupleDescriptionVector(),
|
||||
fNtupleVector(),
|
||||
fRowWise(rowWise),
|
||||
fRowMode(rowMode)
|
||||
fRowMode(rowMode),
|
||||
fCreateNtuples(true)
|
||||
{}
|
||||
|
||||
//_____________________________________________________________________________
|
||||
@@ -213,7 +214,7 @@ void G4RootPNtupleManager::CreateNtupleFromMain(
|
||||
void G4RootPNtupleManager::CreateNtuplesFromMain()
|
||||
{
|
||||
// Create ntuple from booking (if not yet done) and main ntuple
|
||||
// This function is called from G4RootNtupleFileManager::ActionAtOpenFile.
|
||||
// This function is called from the first Fill call.
|
||||
|
||||
// Create pntuple descriptions from ntuple booking.
|
||||
auto g4NtupleBookings = fBookingManager->GetNtupleBookingVector();
|
||||
@@ -230,6 +231,8 @@ void G4RootPNtupleManager::CreateNtuplesFromMain()
|
||||
auto& ntupleDescription = fNtupleDescriptionVector[lcounter++];
|
||||
CreateNtupleFromMain(ntupleDescription, mainNtuple);
|
||||
}
|
||||
|
||||
fCreateNtuples = false;
|
||||
}
|
||||
|
||||
//_____________________________________________________________________________
|
||||
@@ -272,6 +275,10 @@ G4bool G4RootPNtupleManager::FillNtupleSColumn(
|
||||
//_____________________________________________________________________________
|
||||
G4bool G4RootPNtupleManager::AddNtupleRow(G4int ntupleId)
|
||||
{
|
||||
if (fCreateNtuples) {
|
||||
CreateNtuplesFromMain();
|
||||
}
|
||||
|
||||
if ( fState.GetIsActivation() && ( ! GetActivation(ntupleId) ) ) {
|
||||
//G4cout << "Skipping AddNtupleRow for " << ntupleId << G4endl;
|
||||
return false;
|
||||
@@ -287,7 +294,7 @@ G4bool G4RootPNtupleManager::AddNtupleRow(G4int ntupleId)
|
||||
|
||||
auto ntupleDescription = GetNtupleDescriptionInFunction(ntupleId, "AddNtupleRow");
|
||||
if ( ! ntupleDescription ) return false;
|
||||
|
||||
|
||||
auto rfile = std::get<0>(*ntupleDescription->fDescription.fFile);
|
||||
|
||||
G4AutoLock lock(&pntupleMutex);
|
||||
|
||||
Reference in New Issue
Block a user