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
G4QDiffractionRatio.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// GEANT4 tag $Name: not supported by cvs2svn $
28//
29//
30// GEANT4 physics class: G4QDiffractionRatio -- header file
31// M.V. Kossov, ITEP(Moscow), 24-OCT-01
32// The last update: M.V. Kossov, CERN/ITEP (Moscow) 10-Nov-2009
33//
34// --------------------------------------------------------------------
35// Short description: Difraction excitation is a part of the incoherent
36// (inelastic) interaction. This part is calculated in the class.
37// --------------------------------------------------------------------
38
39#ifndef G4QDiffractionRatio_h
40#define G4QDiffractionRatio_h 1
41
42#include "globals.hh"
43#include "G4ios.hh"
44#include "Randomize.hh"
45#include <vector>
46#include "G4QPDGCode.hh"
47#include "G4QEnvironment.hh"
48#include "G4Quasmon.hh"
49#include "G4QHadronVector.hh"
50#include "G4RandomDirection.hh"
51
52
54{
55 protected:
56
57 G4QDiffractionRatio() {} // Constructor
58
59 public:
60
61 ~G4QDiffractionRatio() {} // Destructor
62
63 static G4QDiffractionRatio* GetPointer(); // Gives a pointer to this singletone
64
65 // Diffraction/Prodaction Ratio (Production=Inelastic-QuasiElastic)
66 G4double GetRatio(G4double pIU, G4int prPDG, G4int tgZ, G4int tgN);
67
68 // ==> The following will be a protected function for internal CHIPS usage
69 // ProjFragment(pPDG,p4M) on a nucleus (tgZ, tgN), result: Vector of secondary hadrons
70 // Whoever uses this member function is responsible for DEL/DESTROY of G4QHadronVector
72
73 // ==> The following will be a protected function for internal CHIPS usage
74 // TargFragment(pPDG,p4M) on a nucleus (tgZ, tgN), result: Vector of secondary hadrons
75 // Whoever uses this member function is responsible for DEL/DESTROY of G4QHadronVector
77
78 // Single Diffraction Target Excitation Cross-Section (independent Units)
79 G4double GetTargSingDiffXS(G4double pIU, G4int prPDG, G4int tgZ, G4int tgN);
80
81 private:
82 // These working member functions are in CHIPS units and must not be used externally
83 G4double CalcDiff2Prod_Ratio(G4double s, G4int A); // R=Diff/Prod (sqrt(s)(hN) in GeV, A)
84
85 // Body
86 private:
87};
88#endif
std::vector< G4QHadron * > G4QHadronVector
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
G4QHadronVector * ProjFragment(G4int pPDG, G4LorentzVector p4M, G4int tgZ, G4int tgN)
static G4QDiffractionRatio * GetPointer()
G4QHadronVector * TargFragment(G4int pPDG, G4LorentzVector p4M, G4int tgZ, G4int tgN)
G4double GetTargSingDiffXS(G4double pIU, G4int prPDG, G4int tgZ, G4int tgN)
G4double GetRatio(G4double pIU, G4int prPDG, G4int tgZ, G4int tgN)