Geant4-11
source
analysis
management
src
G4VFileManager.cc
Go to the documentation of this file.
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
27
// Author: Ivana Hrivnacova, 18/06/2013 (ivana@ipno.in2p3.fr)
28
29
#include "
G4VFileManager.hh
"
30
#include "
G4AnalysisManagerState.hh
"
31
#include "
G4AnalysisUtilities.hh
"
32
33
using namespace
G4Analysis
;
34
35
//_____________________________________________________________________________
36
G4VFileManager::G4VFileManager
(
const
G4AnalysisManagerState
& state)
37
:
G4BaseFileManager
(state)
38
{}
39
40
//
41
// public methods
42
//
43
44
//_____________________________________________________________________________
45
G4bool
G4VFileManager::SetFileName
(
const
G4String
& fileName)
46
{
47
// Check extension
48
auto
name
= fileName;
49
auto
extension =
G4Analysis::GetExtension
(fileName);
50
if
( extension.size() &&
GetFileType
().size() && extension !=
GetFileType
() ) {
51
// replace extension
52
name
=
G4Analysis::GetBaseName
(fileName) +
"."
+
GetFileType
();
53
Warn
(fileName +
" file extension is not valid for "
+
GetFileType
() +
" output.\n"
+
54
name
+
" will be used."
,
fkClass
,
"SetFileName"
);
55
}
56
57
return
G4BaseFileManager::SetFileName
(
name
);
58
}
59
60
//_____________________________________________________________________________
61
G4bool
G4VFileManager::SetHistoDirectoryName
(
const
G4String
& dirName)
62
{
63
if
(
fLockDirectoryNames
) {
64
Warn
(
"Cannot set Histo directory name as its value was already used."
,
65
fkClass
,
"SetHistoDirectoryName"
);
66
return
false
;
67
}
68
69
fHistoDirectoryName
= dirName;
70
return
true
;
71
}
72
73
//_____________________________________________________________________________
74
G4bool
G4VFileManager::SetNtupleDirectoryName
(
const
G4String
& dirName)
75
{
76
if
(
fLockDirectoryNames
) {
77
Warn
(
"Cannot set Ntuple directory name as its value was already used."
,
78
fkClass
,
"SetNtupleDirectoryName"
);
79
return
false
;
80
}
81
82
fNtupleDirectoryName
= dirName;
83
return
true
;
84
}
G4AnalysisManagerState.hh
G4AnalysisUtilities.hh
G4bool
bool G4bool
Definition:
G4Types.hh:86
G4VFileManager.hh
G4AnalysisManagerState
Definition:
G4AnalysisManagerState.hh:40
G4BaseFileManager
Definition:
G4BaseFileManager.hh:40
G4BaseFileManager::SetFileName
virtual G4bool SetFileName(const G4String &fileName)
Definition:
G4BaseFileManager.hh:99
G4BaseFileManager::GetFileType
virtual G4String GetFileType() const
Definition:
G4BaseFileManager.cc:57
G4String
Definition:
G4String.hh:62
G4VFileManager::SetHistoDirectoryName
virtual G4bool SetHistoDirectoryName(const G4String &dirName)
Definition:
G4VFileManager.cc:61
G4VFileManager::G4VFileManager
G4VFileManager()=delete
G4VFileManager::fNtupleDirectoryName
G4String fNtupleDirectoryName
Definition:
G4VFileManager.hh:97
G4VFileManager::fLockDirectoryNames
G4bool fLockDirectoryNames
Definition:
G4VFileManager.hh:99
G4VFileManager::SetFileName
virtual G4bool SetFileName(const G4String &fileName) final
Definition:
G4VFileManager.cc:45
G4VFileManager::SetNtupleDirectoryName
virtual G4bool SetNtupleDirectoryName(const G4String &dirName)
Definition:
G4VFileManager.cc:74
G4VFileManager::fHistoDirectoryName
G4String fHistoDirectoryName
Definition:
G4VFileManager.hh:96
G4VFileManager::fkClass
static constexpr std::string_view fkClass
Definition:
G4VFileManager.hh:93
G4Analysis
Definition:
G4BaseHistoUtilities.hh:39
G4Analysis::GetExtension
G4String GetExtension(const G4String &fileName, const G4String &defaultExtension="")
Definition:
G4AnalysisUtilities.cc:236
G4Analysis::GetBaseName
G4String GetBaseName(const G4String &fileName)
Definition:
G4AnalysisUtilities.cc:223
G4Analysis::Warn
void Warn(const G4String &message, const std::string_view inClass, const std::string_view inFunction)
Definition:
G4AnalysisUtilities.cc:66
G4InuclParticleNames::name
const char * name(G4int ptype)
Definition:
G4InuclParticleNames.hh:76
Generated by
1.9.3