Geant4  10.01.p02
RMC01AnalysisManager Class Reference

#include <RMC01AnalysisManager.hh>

+ Collaboration diagram for RMC01AnalysisManager:

Public Member Functions

 ~RMC01AnalysisManager ()
 
void BeginOfRun (const G4Run *)
 
void EndOfRun (const G4Run *)
 
void BeginOfEvent (const G4Event *)
 
void EndOfEvent (const G4Event *)
 
void SetPrimaryExpSpectrumForAdjointSim (const G4String &particle_name, G4double fluence, G4double E0, G4double Emin, G4double Emax)
 
void SetPrimaryPowerLawSpectrumForAdjointSim (const G4String &particle_name, G4double fluence, G4double alpha, G4double Emin, G4double Emax)
 
void SetPrecision (G4double precision)
 
void book ()
 
void save (G4double scaling_factor)
 

Static Public Member Functions

static RMC01AnalysisManagerGetInstance ()
 

Private Member Functions

 RMC01AnalysisManager ()
 
void EndOfEventForForwardSimulation (const G4Event *anEvent)
 
void EndOfEventForAdjointSimulation (const G4Event *anEvent)
 
G4double PrimDiffAndDirFluxForAdjointSim (G4double prim_energy)
 
void ComputeMeanEdepAndError (const G4Event *anEvent, G4double &mean, G4double &error)
 

Private Attributes

RMC01AnalysisManagerMessengerfMsg
 
G4AnaH1fEdep_vs_prim_ekin
 
G4AnaH1fElectron_current
 
G4AnaH1fProton_current
 
G4AnaH1fGamma_current
 
G4double fAccumulated_edep
 
G4double fAccumulated_edep2
 
G4double fMean_edep
 
G4double fError_mean_edep
 
G4double fRelative_error
 
G4double fElapsed_time
 
G4double fPrecision_to_reach
 
G4bool fStop_run_if_precision_reached
 
G4int fNb_evt_modulo_for_convergence_test
 
G4AnaH1fEdep_rmatrix_vs_electron_prim_energy
 
G4AnaH2fElectron_current_rmatrix_vs_electron_prim_energy
 
G4AnaH2fGamma_current_rmatrix_vs_electron_prim_energy
 
G4AnaH1fEdep_rmatrix_vs_gamma_prim_energy
 
G4AnaH2fElectron_current_rmatrix_vs_gamma_prim_energy
 
G4AnaH2fGamma_current_rmatrix_vs_gamma_prim_energy
 
G4AnaH1fEdep_rmatrix_vs_proton_prim_energy
 
G4AnaH2fElectron_current_rmatrix_vs_proton_prim_energy
 
G4AnaH2fProton_current_rmatrix_vs_proton_prim_energy
 
G4AnaH2fGamma_current_rmatrix_vs_proton_prim_energy
 
G4String fFileName [2]
 
G4bool fFactoryOn
 
PRIM_SPECTRUM_TYPE fPrimSpectrumType
 
G4int fPrimPDG_ID
 
G4double fAlpha_or_E0
 
G4double fAmplitude_prim_spectrum
 
G4double fEmin_prim_spectrum
 
G4double fEmax_prim_spectrum
 
G4bool fAdjoint_sim_mode
 
G4int fNb_evt_per_adj_evt
 
G4TimerfTimer
 
std::fstream fConvergenceFileOutput
 

Static Private Attributes

static RMC01AnalysisManagerfInstance = 0
 

Detailed Description

Definition at line 77 of file RMC01AnalysisManager.hh.

Constructor & Destructor Documentation

RMC01AnalysisManager::~RMC01AnalysisManager ( )

Definition at line 103 of file RMC01AnalysisManager.cc.

RMC01AnalysisManager::RMC01AnalysisManager ( )
private

Definition at line 61 of file RMC01AnalysisManager.cc.

References G4Electron::Electron(), fFileName, fMsg, fPrimPDG_ID, fTimer, and G4ParticleDefinition::GetPDGEncoding().

Referenced by GetInstance().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Function Documentation

void RMC01AnalysisManager::BeginOfEvent ( const G4Event )

Definition at line 177 of file RMC01AnalysisManager.cc.

Referenced by RMC01EventAction::BeginOfEventAction().

+ Here is the caller graph for this function:

void RMC01AnalysisManager::BeginOfRun ( const G4Run aRun)

Definition at line 117 of file RMC01AnalysisManager.cc.

References book(), fAccumulated_edep, fAccumulated_edep2, fAdjoint_sim_mode, fConvergenceFileOutput, fElapsed_time, fError_mean_edep, fMean_edep, fNb_evt_per_adj_evt, fRelative_error, fTimer, G4AdjointSimManager::GetAdjointSimMode(), G4AdjointSimManager::GetInstance(), G4AdjointSimManager::GetNbEvtOfLastRun(), G4Run::GetNumberOfEventToBeProcessed(), and G4Timer::Start().

Referenced by RMC01RunAction::BeginOfRunAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RMC01AnalysisManager::ComputeMeanEdepAndError ( const G4Event anEvent,
G4double mean,
G4double error 
)
private

Definition at line 496 of file RMC01AnalysisManager.cc.

References fAccumulated_edep, fAccumulated_edep2, factor, fAdjoint_sim_mode, fNb_evt_per_adj_evt, G4Event::GetEventID(), G4AdjointSimManager::GetInstance(), and G4AdjointSimManager::GetNbEvtOfLastRun().

Referenced by EndOfEventForAdjointSimulation(), and EndOfEventForForwardSimulation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RMC01AnalysisManager::EndOfEvent ( const G4Event anEvent)

Definition at line 183 of file RMC01AnalysisManager.cc.

References G4RunManager::AbortRun(), EndOfEventForAdjointSimulation(), EndOfEventForForwardSimulation(), fAdjoint_sim_mode, fConvergenceFileOutput, fElapsed_time, fError_mean_edep, fMean_edep, fNb_evt_modulo_for_convergence_test, fNb_evt_per_adj_evt, fPrecision_to_reach, fRelative_error, fStop_run_if_precision_reached, fTimer, G4cout, G4Event::GetEventID(), G4Timer::GetRealElapsed(), G4RunManager::GetRunManager(), G4Timer::Start(), and G4Timer::Stop().

Referenced by RMC01EventAction::EndOfEventAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RMC01AnalysisManager::EndOfEventForAdjointSimulation ( const G4Event anEvent)
private

Definition at line 290 of file RMC01AnalysisManager.cc.

References cm2, ComputeMeanEdepAndError(), G4Electron::Electron(), G4THitsCollection< T >::entries(), fAccumulated_edep, fAccumulated_edep2, fEdep_rmatrix_vs_electron_prim_energy, fEdep_rmatrix_vs_gamma_prim_energy, fEdep_rmatrix_vs_proton_prim_energy, fEdep_vs_prim_ekin, fElectron_current, fElectron_current_rmatrix_vs_electron_prim_energy, fElectron_current_rmatrix_vs_gamma_prim_energy, fElectron_current_rmatrix_vs_proton_prim_energy, fEmax_prim_spectrum, fEmin_prim_spectrum, fError_mean_edep, fGamma_current, fGamma_current_rmatrix_vs_electron_prim_energy, fGamma_current_rmatrix_vs_gamma_prim_energy, fGamma_current_rmatrix_vs_proton_prim_energy, fMean_edep, fPrimPDG_ID, fProton_current, fProton_current_rmatrix_vs_proton_prim_energy, fRelative_error, G4cout, G4Gamma::Gamma(), G4SDManager::GetCollectionID(), G4AdjointSimManager::GetEkinAtEndOfLastAdjointTrack(), G4AdjointSimManager::GetFwdParticlePDGEncodingAtEndOfLastAdjointTrack(), G4HCofThisEvent::GetHC(), G4Event::GetHCofThisEvent(), G4AdjointSimManager::GetInstance(), G4SDManager::GetSDMpointer(), G4AdjointSimManager::GetWeightAtEndOfLastAdjointTrack(), PrimDiffAndDirFluxForAdjointSim(), and G4Proton::Proton().

Referenced by EndOfEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RMC01AnalysisManager::EndOfEventForForwardSimulation ( const G4Event anEvent)
private

Definition at line 223 of file RMC01AnalysisManager.cc.

References ComputeMeanEdepAndError(), G4THitsCollection< T >::entries(), fAccumulated_edep, fAccumulated_edep2, fEdep_vs_prim_ekin, fElectron_current, fError_mean_edep, fGamma_current, fMean_edep, fProton_current, fRelative_error, G4SDManager::GetCollectionID(), G4PrimaryParticle::GetG4code(), G4HCofThisEvent::GetHC(), G4Event::GetHCofThisEvent(), G4PrimaryParticle::GetMomentum(), G4ParticleDefinition::GetPDGMass(), G4PrimaryVertex::GetPrimary(), G4Event::GetPrimaryVertex(), and G4SDManager::GetSDMpointer().

Referenced by EndOfEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RMC01AnalysisManager::EndOfRun ( const G4Run aRun)

Definition at line 154 of file RMC01AnalysisManager.cc.

References factor, fAdjoint_sim_mode, fConvergenceFileOutput, fError_mean_edep, fMean_edep, fNb_evt_per_adj_evt, fTimer, G4cout, G4AdjointSimManager::GetInstance(), G4AdjointSimManager::GetNbEvtOfLastRun(), G4Run::GetNumberOfEvent(), save(), and G4Timer::Stop().

Referenced by RMC01RunAction::EndOfRunAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

RMC01AnalysisManager * RMC01AnalysisManager::GetInstance ( void  )
static

Definition at line 109 of file RMC01AnalysisManager.cc.

References fInstance, and RMC01AnalysisManager().

Referenced by RMC01EventAction::BeginOfEventAction(), RMC01EventAction::EndOfEventAction(), and RMC01RunAction::RMC01RunAction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double RMC01AnalysisManager::PrimDiffAndDirFluxForAdjointSim ( G4double  prim_energy)
private

Definition at line 445 of file RMC01AnalysisManager.cc.

References EXPO, fAlpha_or_E0, fAmplitude_prim_spectrum, and fPrimSpectrumType.

Referenced by EndOfEventForAdjointSimulation().

+ Here is the caller graph for this function:

void RMC01AnalysisManager::save ( G4double  scaling_factor)

Definition at line 748 of file RMC01AnalysisManager.cc.

References G4VAnalysisManager::CloseFile(), fFactoryOn, fFileName, G4cout, G4endl, G4VAnalysisManager::GetNofH1s(), G4VAnalysisManager::GetNofH2s(), G4VAnalysisManager::ScaleH1(), G4VAnalysisManager::ScaleH2(), G4VAnalysisManager::SetH1Ascii(), and G4VAnalysisManager::Write().

Referenced by EndOfRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RMC01AnalysisManager::SetPrecision ( G4double  precision)
inline

Definition at line 97 of file RMC01AnalysisManager.hh.

References fPrecision_to_reach.

Referenced by RMC01AnalysisManagerMessenger::SetNewValue().

+ Here is the caller graph for this function:

void RMC01AnalysisManager::SetPrimaryExpSpectrumForAdjointSim ( const G4String particle_name,
G4double  fluence,
G4double  E0,
G4double  Emin,
G4double  Emax 
)

Definition at line 521 of file RMC01AnalysisManager.cc.

References G4Electron::Electron(), Emax, Emin, EXPO, fAlpha_or_E0, fAmplitude_prim_spectrum, fEmax_prim_spectrum, fEmin_prim_spectrum, fPrimPDG_ID, fPrimSpectrumType, G4cout, G4endl, G4Gamma::Gamma(), G4ParticleDefinition::GetPDGEncoding(), G4INCL::Math::pi, and G4Proton::Proton().

Referenced by RMC01AnalysisManagerMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RMC01AnalysisManager::SetPrimaryPowerLawSpectrumForAdjointSim ( const G4String particle_name,
G4double  fluence,
G4double  alpha,
G4double  Emin,
G4double  Emax 
)

Definition at line 546 of file RMC01AnalysisManager.cc.

References alpha, G4Electron::Electron(), Emax, Emin, fAlpha_or_E0, fAmplitude_prim_spectrum, fEmax_prim_spectrum, fEmin_prim_spectrum, fPrimPDG_ID, fPrimSpectrumType, G4cout, G4endl, G4Gamma::Gamma(), G4ParticleDefinition::GetPDGEncoding(), G4INCL::Math::pi, POWER, and G4Proton::Proton().

Referenced by RMC01AnalysisManagerMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double RMC01AnalysisManager::fAccumulated_edep
private
G4double RMC01AnalysisManager::fAccumulated_edep2
private
G4bool RMC01AnalysisManager::fAdjoint_sim_mode
private
G4double RMC01AnalysisManager::fAlpha_or_E0
private
G4double RMC01AnalysisManager::fAmplitude_prim_spectrum
private
std::fstream RMC01AnalysisManager::fConvergenceFileOutput
private

Definition at line 184 of file RMC01AnalysisManager.hh.

Referenced by BeginOfRun(), EndOfEvent(), and EndOfRun().

G4AnaH1* RMC01AnalysisManager::fEdep_rmatrix_vs_electron_prim_energy
private

Definition at line 151 of file RMC01AnalysisManager.hh.

Referenced by book(), and EndOfEventForAdjointSimulation().

G4AnaH1* RMC01AnalysisManager::fEdep_rmatrix_vs_gamma_prim_energy
private

Definition at line 155 of file RMC01AnalysisManager.hh.

Referenced by book(), and EndOfEventForAdjointSimulation().

G4AnaH1* RMC01AnalysisManager::fEdep_rmatrix_vs_proton_prim_energy
private

Definition at line 159 of file RMC01AnalysisManager.hh.

Referenced by book(), and EndOfEventForAdjointSimulation().

G4AnaH1* RMC01AnalysisManager::fEdep_vs_prim_ekin
private
G4double RMC01AnalysisManager::fElapsed_time
private

Definition at line 143 of file RMC01AnalysisManager.hh.

Referenced by BeginOfRun(), and EndOfEvent().

G4AnaH1* RMC01AnalysisManager::fElectron_current
private
G4AnaH2* RMC01AnalysisManager::fElectron_current_rmatrix_vs_electron_prim_energy
private

Definition at line 152 of file RMC01AnalysisManager.hh.

Referenced by book(), and EndOfEventForAdjointSimulation().

G4AnaH2* RMC01AnalysisManager::fElectron_current_rmatrix_vs_gamma_prim_energy
private

Definition at line 156 of file RMC01AnalysisManager.hh.

Referenced by book(), and EndOfEventForAdjointSimulation().

G4AnaH2* RMC01AnalysisManager::fElectron_current_rmatrix_vs_proton_prim_energy
private

Definition at line 160 of file RMC01AnalysisManager.hh.

Referenced by book(), and EndOfEventForAdjointSimulation().

G4double RMC01AnalysisManager::fEmax_prim_spectrum
private
G4double RMC01AnalysisManager::fEmin_prim_spectrum
private
G4double RMC01AnalysisManager::fError_mean_edep
private
G4bool RMC01AnalysisManager::fFactoryOn
private

Definition at line 165 of file RMC01AnalysisManager.hh.

Referenced by book(), and save().

G4String RMC01AnalysisManager::fFileName[2]
private

Definition at line 164 of file RMC01AnalysisManager.hh.

Referenced by book(), RMC01AnalysisManager(), and save().

G4AnaH1* RMC01AnalysisManager::fGamma_current
private
G4AnaH2* RMC01AnalysisManager::fGamma_current_rmatrix_vs_electron_prim_energy
private

Definition at line 153 of file RMC01AnalysisManager.hh.

Referenced by book(), and EndOfEventForAdjointSimulation().

G4AnaH2* RMC01AnalysisManager::fGamma_current_rmatrix_vs_gamma_prim_energy
private

Definition at line 157 of file RMC01AnalysisManager.hh.

Referenced by book(), and EndOfEventForAdjointSimulation().

G4AnaH2* RMC01AnalysisManager::fGamma_current_rmatrix_vs_proton_prim_energy
private

Definition at line 162 of file RMC01AnalysisManager.hh.

Referenced by book(), and EndOfEventForAdjointSimulation().

RMC01AnalysisManager * RMC01AnalysisManager::fInstance = 0
staticprivate

Definition at line 106 of file RMC01AnalysisManager.hh.

Referenced by GetInstance().

G4double RMC01AnalysisManager::fMean_edep
private
RMC01AnalysisManagerMessenger* RMC01AnalysisManager::fMsg
private

Definition at line 122 of file RMC01AnalysisManager.hh.

Referenced by RMC01AnalysisManager().

G4int RMC01AnalysisManager::fNb_evt_modulo_for_convergence_test
private

Definition at line 146 of file RMC01AnalysisManager.hh.

Referenced by EndOfEvent().

G4int RMC01AnalysisManager::fNb_evt_per_adj_evt
private

Definition at line 179 of file RMC01AnalysisManager.hh.

Referenced by BeginOfRun(), ComputeMeanEdepAndError(), EndOfEvent(), and EndOfRun().

G4double RMC01AnalysisManager::fPrecision_to_reach
private

Definition at line 144 of file RMC01AnalysisManager.hh.

Referenced by EndOfEvent(), and SetPrecision().

PRIM_SPECTRUM_TYPE RMC01AnalysisManager::fPrimSpectrumType
private
G4AnaH1* RMC01AnalysisManager::fProton_current
private
G4AnaH2* RMC01AnalysisManager::fProton_current_rmatrix_vs_proton_prim_energy
private

Definition at line 161 of file RMC01AnalysisManager.hh.

Referenced by book(), and EndOfEventForAdjointSimulation().

G4double RMC01AnalysisManager::fRelative_error
private
G4bool RMC01AnalysisManager::fStop_run_if_precision_reached
private

Definition at line 145 of file RMC01AnalysisManager.hh.

Referenced by EndOfEvent().

G4Timer* RMC01AnalysisManager::fTimer
private

Definition at line 183 of file RMC01AnalysisManager.hh.

Referenced by BeginOfRun(), EndOfEvent(), EndOfRun(), and RMC01AnalysisManager().


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