Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes
G4VFileManager Class Referenceabstract

#include <G4VFileManager.hh>

Inheritance diagram for G4VFileManager:
G4CsvFileManager G4RootFileManager G4XmlFileManager

Public Member Functions

 G4VFileManager (const G4AnalysisManagerState &state)
 
virtual ~G4VFileManager ()
 
virtual G4bool OpenFile (const G4String &fileName)=0
 
virtual G4bool WriteFile ()=0
 
virtual G4bool CloseFile ()=0
 
G4bool SetFileName (const G4String &fileName)
 
G4bool SetHistoDirectoryName (const G4String &dirName)
 
G4bool SetNtupleDirectoryName (const G4String &dirName)
 
G4String GetFileName () const
 
G4String GetFullFileName () const
 
G4String GetNtupleFileName (const G4String &ntupleName) const
 
G4String GetHistoDirectoryName () const
 
G4String GetNtupleDirectoryName () const
 
G4String GetFileType () const
 

Protected Attributes

const G4AnalysisManagerState & fState
 
G4String fFileName
 
G4String fHistoDirectoryName
 
G4String fNtupleDirectoryName
 
G4bool fLockFileName
 
G4bool fLockHistoDirectoryName
 
G4bool fLockNtupleDirectoryName
 

Detailed Description

Definition at line 38 of file G4VFileManager.hh.

Constructor & Destructor Documentation

G4VFileManager::G4VFileManager ( const G4AnalysisManagerState &  state)

Definition at line 36 of file G4VFileManager.cc.

37  : fState(state),
38  fFileName(""),
41  fLockFileName(false),
44 {
45 }
G4bool fLockHistoDirectoryName
G4String fNtupleDirectoryName
G4String fHistoDirectoryName
const G4AnalysisManagerState & fState
G4bool fLockNtupleDirectoryName
G4String fFileName
G4VFileManager::~G4VFileManager ( )
virtual

Definition at line 48 of file G4VFileManager.cc.

49 {
50 }

Member Function Documentation

virtual G4bool G4VFileManager::CloseFile ( )
pure virtual
G4String G4VFileManager::GetFileName ( ) const
inline
G4String G4VFileManager::GetFileType ( ) const

Definition at line 147 of file G4VFileManager.cc.

References fState, G4AnalysisManagerState::GetType(), and G4String::toLower().

Referenced by GetFullFileName(), and GetNtupleFileName().

148 {
149  G4String fileType = fState.GetType();
150  fileType.toLower();
151  return fileType;
152 }
const G4AnalysisManagerState & fState
void toLower()
G4String G4VFileManager::GetFullFileName ( ) const

Definition at line 105 of file G4VFileManager.cc.

References G4String::append(), fFileName, fState, G4Threading::G4GetThreadId(), GetFileType(), and G4AnalysisManagerState::GetIsMaster().

Referenced by G4XmlAnalysisManager::CloseFileImpl(), G4RootAnalysisManager::CloseFileImpl(), G4XmlFileManager::CloseHnFile(), G4XmlFileManager::CreateHnFile(), G4RootFileManager::OpenFile(), G4XmlAnalysisManager::OpenFileImpl(), G4RootAnalysisManager::OpenFileImpl(), G4RootFileManager::WriteFile(), and G4XmlAnalysisManager::WriteImpl().

106 {
108  // Add thread Id to a file name if MT processing
109  if ( ! fState.GetIsMaster() ) {
110  std::ostringstream os;
112  name.append("_t");
113  name.append(os.str());
114  }
115  // Add file extension .root if no extension is given
116  if ( name.find(".") == std::string::npos ) {
117  name.append(".");
118  name.append(GetFileType());
119  }
120 
121  return name;
122 }
const XML_Char * name
const G4AnalysisManagerState & fState
G4String GetFileType() const
G4String fFileName
G4int G4GetThreadId()
Definition: G4Threading.cc:103
G4String G4VFileManager::GetHistoDirectoryName ( ) const
inline

Definition at line 79 of file G4VFileManager.hh.

References fHistoDirectoryName.

Referenced by G4VAnalysisManager::GetHistoDirectoryName().

79  {
80  return fHistoDirectoryName;
81 }
G4String fHistoDirectoryName
G4String G4VFileManager::GetNtupleDirectoryName ( ) const
inline

Definition at line 83 of file G4VFileManager.hh.

References fNtupleDirectoryName.

Referenced by G4XmlNtupleManager::FinishNtuple(), and G4VAnalysisManager::GetNtupleDirectoryName().

83  {
84  return fNtupleDirectoryName;
85 }
G4String fNtupleDirectoryName
G4String G4VFileManager::GetNtupleFileName ( const G4String &  ntupleName) const

Definition at line 125 of file G4VFileManager.cc.

References G4String::append(), fFileName, fState, G4Threading::G4GetThreadId(), GetFileType(), and G4AnalysisManagerState::GetIsMaster().

Referenced by G4CsvFileManager::CloseNtupleFile(), G4XmlFileManager::CloseNtupleFile(), G4CsvFileManager::CreateNtupleFile(), and G4XmlFileManager::CreateNtupleFile().

126 {
128  // Add ntupleName
129  name.append("_");
130  name.append(ntupleName);
131  // Add thread Id to a file name if MT processing
132  if ( ! fState.GetIsMaster() ) {
133  std::ostringstream os;
135  name.append("_t");
136  name.append(os.str());
137  }
138  // Add file extension .xml if no extension is given
139  if ( name.find(".") == std::string::npos ) {
140  name.append(".");
141  name.append(GetFileType());
142  }
143  return name;
144 }
const XML_Char * name
const G4AnalysisManagerState & fState
G4String GetFileType() const
G4String fFileName
G4int G4GetThreadId()
Definition: G4Threading.cc:103
virtual G4bool G4VFileManager::OpenFile ( const G4String &  fileName)
pure virtual
G4bool G4VFileManager::SetFileName ( const G4String &  fileName)

Definition at line 57 of file G4VFileManager.cc.

References fFileName, fLockFileName, G4Exception(), and JustWarning.

Referenced by G4XmlAnalysisManager::OpenFileImpl(), G4RootAnalysisManager::OpenFileImpl(), and G4VAnalysisManager::SetFileName().

58 {
59  if ( fLockFileName ) {
60  G4ExceptionDescription description;
61  description
62  << "Cannot set File name as its value was already used.";
63  G4Exception("G4VFileManager::SetFileName()",
64  "Analysis_W009", JustWarning, description);
65  return false;
66  }
67 
68  fFileName = fileName;
69  return true;
70 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4String fFileName
G4bool G4VFileManager::SetHistoDirectoryName ( const G4String &  dirName)

Definition at line 73 of file G4VFileManager.cc.

References fHistoDirectoryName, fLockHistoDirectoryName, G4Exception(), and JustWarning.

Referenced by G4VAnalysisManager::SetHistoDirectoryName().

74 {
76  G4ExceptionDescription description;
77  description
78  << "Cannot set Histo directory name as its value was already used.";
79  G4Exception("G4VFileManager::SetHistoDirectoryName()",
80  "Analysis_W009", JustWarning, description);
81  return false;
82  }
83 
84  fHistoDirectoryName = dirName;
85  return true;
86 }
G4bool fLockHistoDirectoryName
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
G4String fHistoDirectoryName
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4bool G4VFileManager::SetNtupleDirectoryName ( const G4String &  dirName)

Definition at line 89 of file G4VFileManager.cc.

References fLockNtupleDirectoryName, fNtupleDirectoryName, G4Exception(), and JustWarning.

Referenced by G4VAnalysisManager::SetNtupleDirectoryName().

90 {
92  G4ExceptionDescription description;
93  description
94  << "Cannot set Ntuple directory name as its value was already used.";
95  G4Exception("G4VFileManager::SetNtupleDirectoryName()",
96  "Analysis_W010", JustWarning, description);
97  return false;
98  }
99 
100  fNtupleDirectoryName = dirName;
101  return true;
102 }
G4String fNtupleDirectoryName
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4bool fLockNtupleDirectoryName
virtual G4bool G4VFileManager::WriteFile ( )
pure virtual

Field Documentation

G4String G4VFileManager::fFileName
protected
G4String G4VFileManager::fHistoDirectoryName
protected
G4bool G4VFileManager::fLockFileName
protected
G4bool G4VFileManager::fLockHistoDirectoryName
protected
G4bool G4VFileManager::fLockNtupleDirectoryName
protected
G4String G4VFileManager::fNtupleDirectoryName
protected
const G4AnalysisManagerState& G4VFileManager::fState
protected

The documentation for this class was generated from the following files: