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 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // 27 // Author: Haifa Ben Abdelouahed 28 // 29 // 30 // History: 31 // ----------- 32 // 23 Apr 2008 H. Ben Abdelouahed 1st imp 33 // 28 Apr 2008 MGP Major revision ac 34 // 29 Apr 2009 ALF Updated Desing for Integ 35 // 01 Sep 2009 ALF Updated to G4AnalyticalE 36 // 28 Oct 2011 ALF Changed name G4Analytica 37 // 38 // ------------------------------------------- 39 40 // Class description: 41 // Low Energy Electromagnetic Physics, Cross s 42 // ------------------------------------------- 43 44 #ifndef G4ecpssrBaseLixsModel_hh 45 #define G4ecpssrBaseLixsModel_hh 1 46 47 #include "G4VecpssrLiModel.hh" 48 #include "globals.hh" 49 #include <map> 50 #include <vector> 51 52 class G4ecpssrBaseLixsModel : public G4Vecpssr 53 { 54 public: 55 explicit G4ecpssrBaseLixsModel(); 56 57 ~G4ecpssrBaseLixsModel(); 58 59 G4double CalculateL1CrossSection(G4int zTarg 60 61 G4double CalculateL2CrossSection(G4int zTarg 62 63 G4double CalculateL3CrossSection(G4int zTarg 64 65 G4double CalculateVelocity(G4int subShell, G 66 G4double ExpIntFunction(G4int n,G4double x) 67 G4ecpssrBaseLixsModel(const G4ecpssrBaseLixs 68 G4ecpssrBaseLixsModel & operator = (const G4 69 70 private: 71 G4double FunctionFL1(G4double k, G4double th 72 G4double FunctionFL2(G4double k, G4double th 73 G4double LogLogInterpolate(G4double e1, G4do 74 G4double LinLogInterpolate(G4double e1, G4do 75 G4double LinLinInterpolate(G4double e1, G4do 76 G4double QuadInterpolator(G4double e11, 77 G4double e12, 78 G4double e21, 79 G4double e22, 80 G4double x11, 81 G4double x12, 82 G4double x21, 83 G4double x22, 84 G4double t1, 85 G4double t2, 86 G4double t, 87 G4double e); 88 89 typedef std::map<G4double, std::map<G4double 90 TriDimensionMap FL1Data; 91 TriDimensionMap FL2Data; 92 std::vector<G4double> dummyVec1; 93 std::vector<G4double> dummyVec2; 94 95 typedef std::map<G4double, std::vector<G4dou 96 VecMap aVecMap1; 97 VecMap aVecMap2; 98 99 G4int verboseLevel; 100 101 }; 102 103 #endif 104