Geant4  10.02.p03
F04RunAction Class Reference

#include <F04RunAction.hh>

Inheritance diagram for F04RunAction:
Collaboration diagram for F04RunAction:

Public Member Functions

 F04RunAction ()
 
virtual ~F04RunAction ()
 
virtual void BeginOfRunAction (const G4Run *)
 
virtual void EndOfRunAction (const G4Run *)
 
void SetRndmFreq (G4int val)
 
G4int GetRndmFreq ()
 
void SetAutoSeed (const G4bool val)
 
- Public Member Functions inherited from G4UserRunAction
 G4UserRunAction ()
 
virtual ~G4UserRunAction ()
 
virtual G4RunGenerateRun ()
 
void SetMaster (G4bool val=true)
 
G4bool IsMaster () const
 

Private Attributes

F04RunActionMessengerfRunMessenger
 
G4int fSaveRndm
 
G4bool fAutoSeed
 

Additional Inherited Members

- Protected Attributes inherited from G4UserRunAction
G4bool isMaster
 

Detailed Description

Definition at line 42 of file F04RunAction.hh.

Constructor & Destructor Documentation

◆ F04RunAction()

F04RunAction::F04RunAction ( )

Definition at line 44 of file F04RunAction.cc.

45  : fSaveRndm(0), fAutoSeed(false)
46 {
48 }
F04RunActionMessenger * fRunMessenger
Definition: F04RunAction.hh:61
G4bool fAutoSeed
Definition: F04RunAction.hh:64

◆ ~F04RunAction()

F04RunAction::~F04RunAction ( )
virtual

Definition at line 52 of file F04RunAction.cc.

53 {
54  delete fRunMessenger;
55 }
F04RunActionMessenger * fRunMessenger
Definition: F04RunAction.hh:61

Member Function Documentation

◆ BeginOfRunAction()

void F04RunAction::BeginOfRunAction ( const G4Run aRun)
virtual

Reimplemented from G4UserRunAction.

Definition at line 60 of file F04RunAction.cc.

61 {
62  G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl;
63 
66 
67  if (fAutoSeed) {
68  // automatic (time-based) random seeds for each run
69  G4cout << "*******************" << G4endl;
70  G4cout << "*** AUTOSEED ON ***" << G4endl;
71  G4cout << "*******************" << G4endl;
72  long seeds[2];
73  time_t systime = time(NULL);
74  seeds[0] = (long) systime;
75  seeds[1] = (long) (systime*G4UniformRand());
76  G4Random::setTheSeeds(seeds);
77  G4Random::showEngineStatus();
78  } else {
79  G4Random::showEngineStatus();
80  }
81 
82  if (fSaveRndm > 0)
83  {
84  std::ostringstream os;
85  os<<"beginOfRun_"<<G4Threading::G4GetThreadId()<<".rndm";
86  G4Random::saveEngineStatus(os.str().c_str());
87  }
88 }
void SetRandomNumberStore(G4bool flag)
#define G4UniformRand()
Definition: Randomize.hh:97
G4GLOB_DLL std::ostream G4cout
G4int GetRunID() const
Definition: G4Run.hh:76
static G4RunManager * GetRunManager()
Definition: G4RunManager.cc:79
#define G4endl
Definition: G4ios.hh:61
void SetRandomNumberStoreDir(const G4String &dir)
G4int G4GetThreadId()
Definition: G4Threading.cc:134
G4bool fAutoSeed
Definition: F04RunAction.hh:64
Here is the call graph for this function:

◆ EndOfRunAction()

void F04RunAction::EndOfRunAction ( const G4Run )
virtual

Reimplemented from G4UserRunAction.

Definition at line 92 of file F04RunAction.cc.

93 {
94  if (fSaveRndm == 1) {
95  G4Random::showEngineStatus();
96  std::ostringstream os;
97  os<<"endOfRun_"<<G4Threading::G4GetThreadId()<<".rndm";
98  G4Random::saveEngineStatus(os.str().c_str());
99  }
100 }
G4int G4GetThreadId()
Definition: G4Threading.cc:134
Here is the call graph for this function:

◆ GetRndmFreq()

G4int F04RunAction::GetRndmFreq ( )
inline

Definition at line 55 of file F04RunAction.hh.

55 {return fSaveRndm;}
Here is the caller graph for this function:

◆ SetAutoSeed()

void F04RunAction::SetAutoSeed ( const G4bool  val)
inline

Definition at line 57 of file F04RunAction.hh.

57 {fAutoSeed = val;}
G4bool fAutoSeed
Definition: F04RunAction.hh:64
Here is the caller graph for this function:

◆ SetRndmFreq()

void F04RunAction::SetRndmFreq ( G4int  val)
inline

Definition at line 54 of file F04RunAction.hh.

54 {fSaveRndm = val;}
Here is the caller graph for this function:

Member Data Documentation

◆ fAutoSeed

G4bool F04RunAction::fAutoSeed
private

Definition at line 64 of file F04RunAction.hh.

◆ fRunMessenger

F04RunActionMessenger* F04RunAction::fRunMessenger
private

Definition at line 61 of file F04RunAction.hh.

◆ fSaveRndm

G4int F04RunAction::fSaveRndm
private

Definition at line 63 of file F04RunAction.hh.


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