Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * 21 // * Parts of this code which have been devel 22 // * under contract to the European Space Agen 23 // * intellectual property of ESA. Rights to u 24 // * redistribute this software for general pu 25 // * in compliance with any licensing, distrib 26 // * policy adopted by the Geant4 Collaboratio 27 // * written by QinetiQ Ltd for the European S 28 // * contract 17191/03/NL/LvH (Aurora Programm 29 // * 30 // * By using, copying, modifying or distri 31 // * any work based on the software) you ag 32 // * use in resulting scientific publicati 33 // * acceptance of all terms of the Geant4 Sof 34 // ******************************************* 35 // 36 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 37 // 38 // MODULE: G4WilsonRadius.cc 39 // 40 // Version: B.1 41 // Date: 15/04/04 42 // Author: P R Truscott 43 // Organisation: QinetiQ Ltd, UK 44 // Customer: ESA/ESTEC, NOORDWIJK 45 // Contract: 17191/03/NL/LvH 46 // 47 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 48 // 49 // CHANGE HISTORY 50 // -------------- 51 // 52 // 6 October 2003, P R Truscott, QinetiQ Ltd, 53 // Created. 54 // 55 // 15 March 2004, P R Truscott, QinetiQ Ltd, U 56 // Beta release 57 // 58 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 59 // 60 ////////////////////////////////////////////// 61 // 62 #include "G4WilsonRadius.hh" 63 #include "G4SystemOfUnits.hh" 64 #include "G4Pow.hh" 65 66 ////////////////////////////////////////////// 67 // 68 G4WilsonRadius::G4WilsonRadius () 69 { 70 G4double r0 = 0.84*fermi; 71 r0sq = r0 * r0; 72 factor = std::sqrt(5.0/3.0) * fermi; 73 third = 1.0 / 3.0; 74 } 75 ////////////////////////////////////////////// 76 // 77 G4WilsonRadius::~G4WilsonRadius () 78 {;} 79 ////////////////////////////////////////////// 80 // 81 G4double G4WilsonRadius::GetWilsonRMSRadius (G 82 { 83 G4double radius; 84 if (A > 26.0) 85 radius = factor * (0.84*G4Pow::GetInstance 86 else 87 { 88 // this was changed from just G4double to st 89 // to make sure that time wasn't being waste 90 // by MHM 20050119 91 static const G4double r[27] = {0.0, 0.85, 92 2.57, 2.41, 2.23, 93 2.42, 2.471, 2.440 94 2.730, 2.662, 2.727 95 2.867, 2.969, 2.94, 96 3.06}; 97 radius = factor * r[(G4int) (A+0.4)]; 98 } 99 return radius; 100 } 101 ////////////////////////////////////////////// 102 // 103 G4double G4WilsonRadius::GetWilsonRadius (G4do 104 { 105 G4double r = GetWilsonRMSRadius(A); 106 return 1.29*std::sqrt(r*r-r0sq); 107 } 108 ////////////////////////////////////////////// 109 // 110