Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4ParticleHPInelasticData.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27// 080417 Add IsZAApplicable method (return false) by T. Koi
28// 080428 Add bool onFlightDB by T. Koi
29// 091118 Add Ignore and Enable On Flight Doppler Broadening methods by T. Koi
30//
31// P. Arce, June-2014 Conversion neutron_hp to particle_hp
32//
33#ifndef G4ParticleHPInelasticData_h
34#define G4ParticleHPInelasticData_h 1
35
36// Class Description
37// Cross-section data set for a high precision (based on evaluated data
38// libraries) description of neutron inelastic scattering below 20 MeV;
39// To be used in your physics list in case you need this physics.
40// In this case you want to register an object of this class with
41// the corresponding process.
42// Class Description - End
43
45#include "G4DynamicParticle.hh"
46#include "G4Element.hh"
48#include "G4PhysicsTable.hh"
49#include "G4Neutron.hh"
50
52
54{
55 public:
56
58
60
62 G4int /*Z*/ , G4int /*A*/ ,
63 const G4Element* /*elm*/ ,
64 const G4Material* /*mat*/ );
65
67 G4int /*Z*/ , G4int /*A*/ ,
68 const G4Isotope* /*iso*/ ,
69 const G4Element* /*elm*/ ,
70 const G4Material* /*mat*/ );
71
72 //G4bool IsApplicable(const G4DynamicParticle*, const G4Element*); ??
73
74 public:
75 //G4bool IsZAApplicable( const G4DynamicParticle* , G4double /*ZZ*/, G4double /*AA*/)
76 //{ return false;}
77
79
80 //void BuildPhysicsTableHP(G4ParticleDefinition* projectile, const char* dataDirVariable); // name it 'HP' to avoid compilation warning because of G4VCrossSectionDataSet's method
82
84
85 G4ParticleDefinition* GetProjectile(){return theProjectile;}
86
87 public:
88 G4int GetVerboseLevel() const;
89 void SetVerboseLevel( G4int );
90 virtual void CrossSectionDescription(std::ostream&) const;
91
92 private:
93
94 G4PhysicsTable * theCrossSections;
95
96 G4ParticleDefinition* theProjectile;
97
98 G4ParticleHPData* theHPData;
99
100 G4bool instanceOfWorker;
101
102 G4double ke_cache;
103 G4double xs_cache;
104 const G4Element* element_cache;
105 const G4Material* material_cache;
106
107 //char envVariable[500];
108};
109
110#endif
double G4double
Definition: G4Types.hh:83
bool G4bool
Definition: G4Types.hh:86
int G4int
Definition: G4Types.hh:85
static G4Neutron * Neutron()
Definition: G4Neutron.cc:103
G4bool IsIsoApplicable(const G4DynamicParticle *, G4int, G4int, const G4Element *, const G4Material *)
virtual void CrossSectionDescription(std::ostream &) const
G4ParticleDefinition * GetProjectile()
void DumpPhysicsTable(const G4ParticleDefinition &)
G4double GetIsoCrossSection(const G4DynamicParticle *, G4int, G4int, const G4Isotope *, const G4Element *, const G4Material *)
G4double GetCrossSection(const G4DynamicParticle *, const G4Element *, G4double aT)
void BuildPhysicsTable(const G4ParticleDefinition &)