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 G4AnalysisManagerStatefState
 
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: