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
G4AntiNuclElastic.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// $Id: G4AntiNuclElastic.hh, 2011-04-12 agaloyan
28// GEANT4 tag $Name: not supported by cvs2svn $
29//
30// Geant4 Header : G4AntiNuclElastic
31//
32// Author : A. Galoyan
33//
34// Class Description
35// Model for AntiNuclear Nuclear Elastic Scattering;
36// Class Description - End
37
38#ifndef G4AntiNuclElastic_h
39#define G4AntiNuclElastic_h 1
40
41#include "G4HadronElastic.hh"
42#include "globals.hh"
43#include "G4Nucleus.hh"
45
46using namespace std;
47
49
51{
52public:
53
55
56 virtual ~G4AntiNuclElastic();
57
59 G4double plab,
60 G4int Z, G4int A);
61
63 G4int Z, G4int A);
64
66 G4double plab, G4int Z, G4int A);
67
68
70 G4double momentum );
71
73
75
77
79
81
83
85
87
88private:
89
90 // Assignment operator and copy constructor
91 G4AntiNuclElastic & operator=(const G4AntiNuclElastic &right);
93
94 G4ComponentAntiNuclNuclearXS* cs; //cross section of antiA-A interaction
95
96 G4double fTetaCMS; // sampled Theta in CMS
97 G4double fThetaLab; //sampled Theta in Lab system
98 const G4ParticleDefinition* fParticle;
99 G4double fWaveVector;
100 G4double fBeta; // velosity of projectile
101 G4double fZommerfeld; // parameter of Zommerfeld for calculation of Coulomb cross-section
102 G4double fAm; // parameter for calculation of Coulomb cross-section
103 G4double fRa; // Radius of target
104 G4double fRef; // Effective radiuse for Calculation of hadron cross-section
105 G4double fceff; // Effective diffuse parameter
106
107 G4ThreeVector fbst; // boost vector
108 G4double fptot; // momentum of projectile in CMS system
109 G4double fTmax;
110
111 G4ParticleDefinition* theAProton;
112 G4ParticleDefinition* theANeutron;
113 G4ParticleDefinition* theADeuteron;
114 G4ParticleDefinition* theATriton;
115 G4ParticleDefinition* theAAlpha;
116 G4ParticleDefinition* theAHe3;
117
118 G4ParticleDefinition* theProton;
119 G4ParticleDefinition* theNeutron;
120 G4ParticleDefinition* theDeuteron;
121 G4ParticleDefinition* theAlpha;
122
123};
124
127{
128 return cs;
129}
130
131#endif
132
133
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
G4double BesselOneByArg(G4double z)
G4double CalculateParticleBeta(const G4ParticleDefinition *particle, G4double momentum)
virtual G4double SampleInvariantT(const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
G4double SampleThetaLab(const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
G4double CalculateZommerfeld(G4double beta, G4double Z1, G4double Z2)
virtual ~G4AntiNuclElastic()
G4double DampFactor(G4double z)
G4double BesselJone(G4double z)
G4double GetcosTeta1(G4double plab, G4int A)
G4double BesselJzero(G4double z)
G4double SampleThetaCMS(const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
G4ComponentAntiNuclNuclearXS * GetComponentCrossSection()
G4double CalculateAm(G4double momentum, G4double n, G4double Z)