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
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{
59public:
60
63
64virtual
66 G4double kinEnergy,
67 G4int Z, G4int A);
68
69virtual
71 G4double kinEnergy,
72 G4int Z, G4double A);
73
74virtual
76 G4double kinEnergy,
77 G4int Z, G4int A);
78
79virtual
81 G4double kinEnergy,
82 G4int Z, G4double A);
83
84virtual
86 G4double kinEnergy,
87 G4int Z, G4double A);
88
89virtual
91 G4double kinEnergy,
92 G4int Z, G4int A);
93
94virtual
96 {}
97
98virtual
100 {}
101
102virtual 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
112private:
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
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
virtual G4double GetTotalIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int A)
virtual G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int A)
virtual void CrossSectionDescription(std::ostream &) const
G4double GetAntiHadronNucleonElCrSc(const G4ParticleDefinition *aParticle, G4double kinEnergy)
virtual void DumpPhysicsTable(const G4ParticleDefinition &)
virtual G4double GetTotalElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double A)
virtual G4double GetInelasticIsotopeCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int A)
virtual G4double GetElasticElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double A)
virtual G4double GetInelasticElementCrossSection(const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double A)
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
G4double GetAntiHadronNucleonTotCrSc(const G4ParticleDefinition *aParticle, G4double kinEnergy)