Geant4 Cross Reference |
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 // P. Arce, June-2014 Conversion neutron_hp to particle_hp 28 // 29 // June-2019 - E. Mendoza --> perform some corrections 30 31 #ifndef G4ParticleHPKallbachMannSyst_h 32 #define G4ParticleHPKallbachMannSyst_h 1 33 34 #include "globals.hh" 35 36 class G4ParticleHPKallbachMannSyst 37 { 38 public: 39 G4ParticleHPKallbachMannSyst(G4double aCompoundFraction, G4double anIncidentEnergy, 40 G4double anIncidentMass, G4double aProductEnergy, 41 G4double aProductMass, G4double aResidualMass, G4int aResidualA, 42 G4int aResidualZ, G4double aTargetMass, G4int aTargetA, 43 G4int aTargetZ, G4int aProjectileA, G4int aProjectileZ, 44 G4int aProductA, G4int aProductZ) 45 { 46 theCompoundFraction = aCompoundFraction; 47 theIncidentEnergy = anIncidentEnergy; 48 theIncidentMass = anIncidentMass; 49 theProductEnergy = aProductEnergy; 50 theProductMass = aProductMass; 51 theResidualMass = aResidualMass; 52 theResidualA = aResidualA; 53 theResidualZ = aResidualZ; 54 theTargetMass = aTargetMass; 55 theTargetA = aTargetA; 56 theTargetZ = aTargetZ; 57 theProjectileA = aProjectileA; 58 theProjectileZ = aProjectileZ; 59 theProductA = aProductA; 60 theProductZ = aProductZ; 61 } 62 63 ~G4ParticleHPKallbachMannSyst() = default; 64 65 G4double Sample(G4double anEnergy); 66 67 G4double Kallbach(G4double cosTh, G4double anEnergy); 68 69 G4double GetKallbachZero(G4double anEnergy); 70 71 G4double A(G4double anEnergy); 72 73 G4double SeparationEnergy(G4int Ac, G4int Nc, G4int AA, G4int ZA, G4int Abinding, 74 G4int Zbinding); 75 76 private: 77 G4double theCompoundFraction; 78 G4double theIncidentEnergy; 79 G4double theIncidentMass; 80 G4double theProductEnergy; 81 G4double theProductMass; 82 G4double theResidualMass; 83 G4double theTargetMass; 84 G4int theResidualA; 85 G4int theResidualZ; 86 G4int theTargetA; 87 G4int theTargetZ; 88 G4int theProjectileA; 89 G4int theProjectileZ; 90 G4int theProductA; 91 G4int theProductZ; 92 }; 93 94 #endif 95