LDMX Software
Public Member Functions | Private Attributes | List of all members
simcore::LoggedSession Class Reference

Log the output of Geant4 to files in current directory. More...

#include <G4Session.h>

Public Member Functions

 LoggedSession (const std::string &coutFileName="G4cout.log", const std::string &cerrFileName="G4cerr.log")
 Constructor.
 
 ~LoggedSession ()
 Destructor.
 
G4UIsession * SessionStart ()
 Required hook for Geant4.
 
G4int ReceiveG4cout (const G4String &message)
 Redirects cout to file.
 
G4int ReceiveG4cerr (const G4String &message)
 Redirects cerr to file.
 

Private Attributes

std::ofstream coutFile_
 cout log file
 
std::ofstream cerrFile_
 cerr log file
 

Detailed Description

Log the output of Geant4 to files in current directory.

Definition at line 23 of file G4Session.h.

Constructor & Destructor Documentation

◆ LoggedSession()

simcore::LoggedSession::LoggedSession ( const std::string &  coutFileName = "G4cout.log",
const std::string &  cerrFileName = "G4cerr.log" 
)

Constructor.

Sets up output file streams for the cout and cerr paths.

Definition at line 13 of file G4Session.cxx.

14 {
15 coutFile_.open(coutFileName);
16 if (not coutFile_.is_open()) {
17 EXCEPTION_RAISE("G4Logging",
18 "Unable to open log file '" + coutFileName + "'.");
19 }
20
21 cerrFile_.open(cerrFileName);
22 if (not cerrFile_.is_open()) {
23 EXCEPTION_RAISE("G4Logging",
24 "Unable to open log file '" + cerrFileName + "'.");
25 }
26}
std::ofstream cerrFile_
cerr log file
Definition G4Session.h:62
std::ofstream coutFile_
cout log file
Definition G4Session.h:59

References cerrFile_, and coutFile_.

◆ ~LoggedSession()

simcore::LoggedSession::~LoggedSession ( )

Destructor.

Closes the output files streams

Definition at line 28 of file G4Session.cxx.

28 {
29 coutFile_.close();
30 cerrFile_.close();
31}

References cerrFile_, and coutFile_.

Member Function Documentation

◆ ReceiveG4cerr()

G4int simcore::LoggedSession::ReceiveG4cerr ( const G4String &  message)

Redirects cerr to file.

Definition at line 39 of file G4Session.cxx.

39 {
40 cerrFile_ << message;
41 cerrFile_.flush();
42 return 0; // 0 return value == sucess
43}

References cerrFile_.

◆ ReceiveG4cout()

G4int simcore::LoggedSession::ReceiveG4cout ( const G4String &  message)

Redirects cout to file.

Definition at line 33 of file G4Session.cxx.

33 {
34 coutFile_ << message;
35 coutFile_.flush();
36 return 0; // 0 return value == sucess
37}

References coutFile_.

◆ SessionStart()

G4UIsession * simcore::LoggedSession::SessionStart ( )
inline

Required hook for Geant4.

Does nothing

Definition at line 45 of file G4Session.h.

45{ return nullptr; }

Member Data Documentation

◆ cerrFile_

std::ofstream simcore::LoggedSession::cerrFile_
private

cerr log file

Definition at line 62 of file G4Session.h.

Referenced by LoggedSession(), ReceiveG4cerr(), and ~LoggedSession().

◆ coutFile_

std::ofstream simcore::LoggedSession::coutFile_
private

cout log file

Definition at line 59 of file G4Session.h.

Referenced by LoggedSession(), ReceiveG4cout(), and ~LoggedSession().


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