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 #ifndef G4ecpssrBaseKxsModel_hh 28 #define G4ecpssrBaseKxsModel_hh 1 29 30 #include "G4VecpssrKModel.hh" 31 #include "globals.hh" 32 #include <map> 33 #include <vector> 34 35 #include "G4CrossSectionDataSet.hh" 36 37 class G4ecpssrBaseKxsModel : public G4VecpssrK 38 { 39 public: 40 explicit G4ecpssrBaseKxsModel(); 41 ~G4ecpssrBaseKxsModel(); 42 43 G4double CalculateCrossSection(G4int, G4doub 44 G4double ExpIntFunction(G4int n,G4double x) 45 46 G4ecpssrBaseKxsModel(const G4ecpssrBaseKxsMo 47 G4ecpssrBaseKxsModel & operator = (const G4e 48 49 private: 50 G4double FunctionFK(G4double k, G4double the 51 G4double LogLogInterpolate(G4double e1, G4do 52 G4double LinLogInterpolate(G4double e1, G4do 53 54 G4double QuadInterpolator(G4double e11, 55 G4double e12, 56 G4double e21, 57 G4double e22, 58 G4double x11, 59 G4double x12, 60 G4double x21, 61 G4double x22, 62 G4double t1, 63 G4double t2, 64 G4double t, 65 G4double e); 66 67 typedef std::map<G4double, std::map<G4double 68 TriDimensionMap FKData; 69 std::vector<G4double> dummyVec; 70 71 typedef std::map<G4double, std::vector<G4dou 72 VecMap aVecMap; 73 74 G4CrossSectionDataSet* tableC1; 75 G4CrossSectionDataSet* tableC2; 76 G4CrossSectionDataSet* tableC3; 77 78 G4int verboseLevel; 79 }; 80 81 #endif 82