LDMX Software
G4Session.h
Go to the documentation of this file.
1
8#ifndef SIMCORE_G4SESSION_H
9#define SIMCORE_G4SESSION_H
10
11#include <algorithm>
12#include <string>
13
14#include "Framework/Logger.h"
15#include "G4UIsession.hh"
16
17namespace simcore {
18
33class LoggedSession : public G4UIsession {
34 public:
38 LoggedSession(std::string logging_prefix = "Geant4");
39
43 ~LoggedSession() override = default;
44
50 G4int ReceiveG4cout(const G4String& message) override;
51
57 G4int ReceiveG4cerr(const G4String& message) override;
58
59 private:
61 mutable framework::logging::logger the_log_;
62};
63
64} // namespace simcore
65
66#endif // SIMCORE_G4SESSION_H
Session that routes G4cout and G4cerr through the Framework logger.
Definition G4Session.h:33
LoggedSession(std::string logging_prefix="Geant4")
Constructor - creates a logger named "Geant4".
Definition G4Session.cxx:5
~LoggedSession() override=default
Destructor.
G4int ReceiveG4cout(const G4String &message) override
Receive a message from G4cout.
Definition G4Session.cxx:8
G4int ReceiveG4cerr(const G4String &message) override
Receive a message from G4cerr.
Definition G4Session.cxx:23
framework::logging::logger the_log_
Framework logger for Geant4 messages.
Definition G4Session.h:61
Dynamically loadable photonuclear models either from SimCore or external libraries implementing this ...