Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ComponentAntiNuclNuclearXS.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 // Calculation of the total, elastic and inelastic cross-sections
28 // of anti-nucleon and anti-nucleus interactions with nuclei
29 // based on Glauber approach, V. Grishine formulaes for
30 // interpolations (ref. V.M.Grichine, Eur.Phys.J., C62(2009) 399;
31 // NIM, B267 (2009) 2460) and our parametrization of hadron-nucleon
32 // cross-sections
33 //
34 //
35 // Created by A.Galoyan and V. Uzhinsky, 18.11.2010
36 
37 
38 #ifndef G4ComponentAntiNuclNuclearXS_h
39 #define G4ComponentAntiNuclNuclearXS_h
40 
41 #include <CLHEP/Units/PhysicalConstants.h> // pi, fermi,..
42 
43 #include "globals.hh"
44 #include "G4Proton.hh"
45 #include "G4AntiProton.hh"
46 #include "G4AntiNeutron.hh"
47 #include "G4AntiDeuteron.hh"
48 #include "G4AntiHe3.hh"
49 #include "G4AntiTriton.hh"
50 #include "G4AntiAlpha.hh"
51 #include "G4Nucleus.hh"
52 
54 
56 
58 {
59 public:
60 
63 
64 virtual
66  G4double kinEnergy,
67  G4int Z, G4int A);
68 
69 virtual
71  G4double kinEnergy,
72  G4int Z, G4double A);
73 
74 virtual
76  G4double kinEnergy,
77  G4int Z, G4int A);
78 
79 virtual
81  G4double kinEnergy,
82  G4int Z, G4double A);
83 
84 virtual
86  G4double kinEnergy,
87  G4int Z, G4double A);
88 
89 virtual
91  G4double kinEnergy,
92  G4int Z, G4int A);
93 
94 virtual
96  {}
97 
98 virtual
100  {}
101 
102 virtual void CrossSectionDescription(std::ostream&) const;
103 
104 // Method for calculation of Anti-Hadron Nucleon Total Cross-section
106 
107 
108 // Method for calculation of Anti-Hadron Nucleon Elastic Cross-section
110 
111 
112 private:
113 
114 // const G4double fUpperLimit;
115 // const G4double fLowerLimit;
116  G4double fRadiusEff; // Effective Radius for AntiNucleus
117  G4double fRadiusNN2; // Sqr of radius of NN collision
118 
119  G4double fTotalXsc, fElasticXsc, fInelasticXsc;
120  G4double fAntiHadronNucleonTotXsc, fAntiHadronNucleonElXsc;
121  G4double Elab, S, SqrtS ;
122  G4double Mn, b0, b2, SqrtS0, S0, R0; //parameters for AntiHadron-Nucleon Xsc
123 
124  G4ParticleDefinition* theAProton;
125  G4ParticleDefinition* theANeutron;
126  G4ParticleDefinition* theADeuteron;
127  G4ParticleDefinition* theATriton;
128  G4ParticleDefinition* theAAlpha;
129  G4ParticleDefinition* theAHe3;
130 
131 };
132 
133 #endif
virtual G4double GetElasticElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double A)
virtual G4double GetInelasticElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double A)
G4double GetAntiHadronNucleonElCrSc(const G4ParticleDefinition *aParticle, G4double kinEnergy)
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
virtual void DumpPhysicsTable(const G4ParticleDefinition &)
int G4int
Definition: G4Types.hh:78
G4double GetAntiHadronNucleonTotCrSc(const G4ParticleDefinition *aParticle, G4double kinEnergy)
virtual void CrossSectionDescription(std::ostream &) const
virtual G4double GetTotalElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double A)
virtual G4double GetTotalIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int A)
virtual G4double GetInelasticIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int A)
double G4double
Definition: G4Types.hh:76
virtual G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int A)