Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4ComponentSAIDTotalXS.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// $Id$
27//
28// -------------------------------------------------------------------
29//
30// GEANT4 Class header file
31//
32//
33// File name: G4ComponentSAIDTotalXS
34//
35// Authors: G.Folger, V.Ivanchenko, D.Wright
36//
37// Modifications:
38//
39
40//
41// Class Description
42// Total, elastic and inelastic hadron/nucleon cross sections
43// from SAID database, G4SAIDXSDATA environment variable
44// should be defined
45// Class Description - End
46
47#ifndef G4ComponentSAIDTotalXS_h
48#define G4ComponentSAIDTotalXS_h 1
49
52#include "globals.hh"
53
55{
57 saidPP = 1,
58 saidNP = 2,
68 saidGP_ETAPP = 12
69};
70
71class G4PhysicsVector;
72
74{
75public: //with description
76
78
80
81 virtual
83 G4double kinEnergy,
84 G4int /*Z*/, G4double /*N*/);
85
86 virtual
88 G4double kinEnergy,
89 G4int /*Z*/, G4int /*N*/);
90
91 virtual
93 G4double kinEnergy,
94 G4int /*Z*/, G4double /*N*/);
95
96 virtual
98 G4double kinEnergy,
99 G4int /*Z*/, G4int /*N*/);
100
101 virtual
103 G4double kinEnergy,
104 G4int /*Z*/, G4double /*N*/);
105
106 virtual
108 G4double kinEnergy,
109 G4int /*Z*/, G4int /*N*/);
110
112 const G4ParticleDefinition* sec,
113 G4double kinEnergy,
114 G4int /*Z*/, G4int /*N*/);
115
116 virtual
117 void Description() const;
118
119private:
120
122 const G4ParticleDefinition* sec,
123 G4int Z, G4int N);
124
125 void Initialise(G4SAIDCrossSectionType tp);
126
127 void ReadData(G4int index, G4PhysicsVector*,
128 const G4String&, const G4String&);
129
130 void PrintWarning(const G4ParticleDefinition* prim,
131 const G4ParticleDefinition* sec,
132 G4int /*Z*/, G4int /*N*/,
133 const G4String&, const G4String&);
134
135 G4ComponentSAIDTotalXS & operator=(const G4ComponentSAIDTotalXS &right);
137
138 G4int numberOfSaidXS;
139
140 static G4String fnames[13];
141 static G4PhysicsVector* elastdata[13];
142 static G4PhysicsVector* inelastdata[13];
143
144};
145
146#endif
G4SAIDCrossSectionType
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
virtual G4double GetInelasticElementCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4double)
G4double GetChargeExchangeCrossSection(const G4ParticleDefinition *prim, const G4ParticleDefinition *sec, G4double kinEnergy, G4int, G4int)
virtual G4double GetInelasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
virtual G4double GetElasticElementCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4double)
virtual G4double GetTotalElementCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4double)
virtual void Description() const
virtual G4double GetTotalIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
virtual G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)