47 #include "HistoManager.hh"
112 "Elastic cross section (barn) as a functions of log10(p/GeV)",
115 "Elastic cross section (barn) as a functions of log10(E/MeV)",
118 "Inelastic cross section (barn) as a functions of log10(p/GeV)",
121 "Inelastic cross section (barn) as a functions of log10(E/MeV)",
124 "Capture cross section (barn) as a functions of log10(E/MeV)",
127 "Fission cross section (barn) as a functions of log10(E/MeV)",
130 "Charge exchange cross section (barn) as a functions of log10(E/MeV)",
133 "Total cross section (barn) as a functions of log10(E/MeV)",
136 "Inelastic cross section per volume as a functions of log10(E/MeV)",
139 "Elastic cross section per volume as a functions of log10(E/MeV)",
148 G4cout <<
"HistoManager: End of run actions are started" <<
G4endl;
162 G4cout <<
"-------------------------------------------------------------"
164 G4cout <<
" N E(MeV) Elastic(b) Inelastic(b)";
167 G4cout <<
"-------------------------------------------------------------"
170 if(!particle || !elm) {
171 G4cout <<
"HistoManager WARNING Particle or element undefined" <<
G4endl;
199 e = std::pow(10.,x)*
MeV;
236 p = std::pow(10.,x)*
GeV;
237 e = std::sqrt(p*p + mass*mass) - mass;
244 G4cout <<
"-------------------------------------------------------------"
256 if(cross <= 0.0) { cross = 1.e-100; }
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
G4double GetInelasticCrossSectionPerVolume(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Material *material)
static G4ParticleTable * GetParticleTable()
static constexpr double MeV
G4double GetRadlen() const
const G4String & GetParticleName() const
G4double GetElasticCrossSectionPerVolume(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Material *material)
G4double GetInelasticCrossSectionPerAtom(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Element *anElement, const G4Material *mat=nullptr)
G4double GetPDGMass() const
const G4String & GetName() const
G4Element * FindOrBuildElement(G4int Z, G4bool isotopes=true)
static constexpr double g
static constexpr double TeV
static constexpr double cm2
G4double GetChargeExchangeCrossSectionPerAtom(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Element *anElement, const G4Material *mat=nullptr)
Definition of the HistoManagerMessenger class.
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
static G4HadronicProcessStore * Instance()
void SetVerbose(G4int val)
static G4Neutron * Neutron()
G4double GetElasticCrossSectionPerAtom(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Element *anElement, const G4Material *mat=0)
static constexpr double barn
G4AnalysisManager * fAnalysisManager
G4double GetFissionCrossSectionPerAtom(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Element *anElement, const G4Material *mat=nullptr)
G4double GetCaptureCrossSectionPerAtom(const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4Element *anElement, const G4Material *mat=nullptr)
G4GLOB_DLL std::ostream G4cout
const G4ParticleDefinition * fNeutron
HistoManagerMessenger * fMessenger
static constexpr double GeV
static G4NistManager * Instance()
G4double GetDensity() const
const G4Material * fTargetMaterial