34 #include "RunAction.hh"
36 #include "DetectorConstruction.hh"
37 #include "PrimaryGeneratorAction.hh"
38 #include "HistoManager.hh"
73 CLHEP::HepRandom::showEngineStatus();
82 if ( analysisManager->IsActive() ) {
83 analysisManager->OpenFile();
92 if (NbOfEvents == 0)
return;
104 G4cout <<
"\n The run consists of " << NbOfEvents <<
" "<< Particle <<
" of "
107 << material->
GetName() <<
" (density: "
111 G4cout <<
"\n Process calls frequency --->";
112 std::map<G4String,G4int>::iterator it;
115 G4int count = it->second;
116 G4cout <<
"\t" << procName <<
" = " << count;
117 if (procName ==
"Transportation") survive = count;
121 G4cout <<
"\n\n Nb of incident particles surviving after "
132 G4double rms = std::sqrt(std::fabs(MeanTrack2 - MeanFreePath*MeanFreePath));
133 G4double CrossSection = 1./MeanFreePath;
139 <<
"\tmassic: " <<
G4BestUnit(massicMFP,
"Mass/Surface")
140 <<
"\n CrossSection:\t" << CrossSection*
cm <<
" cm^-1 "
141 <<
"\t\t\tmassic: " <<
G4BestUnit(massicCS,
"Surface/Mass")
149 G4cout <<
"\n mean energy of charged secondaries: "
151 <<
"\tmass_energy_transfer coef: "
157 G4cout <<
"\n Verification : "
158 <<
"crossSections from G4EmCalculator \n";
172 G4cout <<
"\t" << procName <<
"= "
186 if ( analysisManager->IsActive() ) {
187 analysisManager->Write();
188 analysisManager->CloseFile();
192 CLHEP::HepRandom::showEngineStatus();
void BeginOfRunAction(const G4Run *)
const G4String & GetName() const
G4double GetDensity() const
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
void SetRandomNumberStore(G4bool flag)
G4double GetCrossSectionPerVolume(G4double kinEnergy, const G4ParticleDefinition *, const G4String &processName, const G4Material *, const G4Region *r=0)
DetectorConstruction * fDetector
const G4String & GetParticleName() const
HistoManager * fHistoManager
G4GLOB_DLL std::ostream G4cout
G4int GetNumberOfEvent() const
G4Material * GetMaterial()
void EndOfRunAction(const G4Run *)
ExG4HbookAnalysisManager G4AnalysisManager
std::map< G4String, G4int > fProcCounter
static G4RunManager * GetRunManager()
G4ParticleGun * GetParticleGun()
G4double energy(const ThreeVector &p, const G4double m)
G4double ComputeCrossSectionPerVolume(G4double kinEnergy, const G4ParticleDefinition *, const G4String &processName, const G4Material *, G4double cut=0.0)
G4ParticleDefinition * GetParticleDefinition() const
Detector construction class to demonstrate various ways of placement.
G4double GetParticleEnergy() const
PrimaryGeneratorAction * fPrimary