79 fNtupleManager(nullptr),
82 #ifdef G4MULTITHREADED
83 #ifndef H5_HAVE_THREADSAFE
86 <<
"Your HDF5 lib is not built with H5_HAVE_THREADSAFE.";
87 G4Exception(
"G4Hdf5AnalysisManager::G4Hdf5AnalysisManager",
96 <<
"G4Hdf5AnalysisManager already exists."
97 <<
"Cannot create another instance.";
98 G4Exception(
"G4Hdf5AnalysisManager::G4Hdf5AnalysisManager",
133 if ( ! h1Vector.size() )
return true;
138 auto directoryName =
fFileManager->GetHistoDirectoryName();
158 if ( ! h2Vector.size() )
return true;
163 auto directoryName =
fFileManager->GetHistoDirectoryName();
183 if ( ! h3Vector.size() )
return true;
188 auto directoryName =
fFileManager->GetHistoDirectoryName();
208 if ( ! p1Vector.size() )
return true;
213 auto directoryName =
fFileManager->GetHistoDirectoryName();
233 if ( ! p2Vector.size() )
return true;
238 auto directoryName =
fFileManager->GetHistoDirectoryName();
257 auto finalResult =
true;
260 finalResult = finalResult &&
result;
263 finalResult = finalResult &&
result;
275 auto finalResult =
true;
277 finalResult = finalResult &&
result;
287 finalResult = finalResult &&
result;
304 auto finalResult =
true;
317 finalResult = finalResult &&
result;
321 finalResult = finalResult &&
result;
325 finalResult = finalResult &&
result;
329 finalResult = finalResult &&
result;
333 finalResult = finalResult &&
result;
342 finalResult = finalResult &&
result;
357 auto finalResult =
true;
361 finalResult = finalResult &&
result;
367 description <<
" " <<
"Resetting data failed";
372 finalResult = finalResult &&
result;
std::ostringstream G4ExceptionDescription
virtual G4bool OpenFileImpl(const G4String &fileName) final
G4Hdf5NtupleManager * fNtupleManager
void CreateNtuplesFromBooking()
void message(RunManager *runmanager)
virtual G4bool CloseFileImpl() final
static constexpr unsigned int fgkDefaultBasketSize
#define G4MUTEX_INITIALIZER
G4AnalysisManagerState fState
G4Hdf5AnalysisManager(G4bool isMaster=true)
const G4AnalysisVerbose * GetVerboseL4() const
G4bool Reset(G4bool deleteNtuple)
void SetFileManager(std::shared_ptr< G4VFileManager > fileManager)
G4double G4ParticleHPJENDLHEData::G4double result
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::shared_ptr< G4Hdf5FileManager > fFileManager
static G4bool IsInstance()
void SetNtupleManager(G4VNtupleManager *ntupleManager)
G4bool WriteHn(const std::vector< T * > &htVector, const std::vector< G4HnInformation * > &hnVector, const G4String &directoryName, const G4String &hnType)
void Message(const G4String &action, const G4String &object, const G4String &objectName, G4bool success=true) const
G4bool GetIsMaster() const
static G4Hdf5AnalysisManager * fgMasterInstance
virtual G4bool WriteImpl() final
void SetFileManager(std::shared_ptr< G4Hdf5FileManager > fileManager)
static G4Hdf5AnalysisManager * Instance()
const G4AnalysisVerbose * GetVerboseL1() const
G4bool WritePn(const std::vector< T * > &htVector, const std::vector< G4HnInformation * > &hnVector, const G4String &directoryName, const G4String &hnType)
static G4ThreadLocal G4Hdf5AnalysisManager * fgInstance
G4bool WriteAscii(const G4String &fileName)