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 // History: 27 // ----------- 28 // 01 Oct 2011 A.M., S.I. - 1st implementat 29 // 30 // Class description 31 // ---------------- 32 // Computation of K, L & M shell ECPSSR ionis 33 // Based on the work of A. Taborda et al. 34 // X-Ray Spectrom. 2011, 40, 127-134 35 // ------------------------------------------- 36 37 #ifndef G4ecpssrFormFactorMixsModel_HH 38 #define G4ecpssrFormFactorMixsModel_HH 1 39 40 #include <map> 41 #include <vector> 42 #include "G4Types.hh" 43 #include "G4VecpssrMiModel.hh" 44 45 class G4VDataSetAlgorithm; 46 class G4VEMDataSet; 47 48 class G4ecpssrFormFactorMixsModel : public G4V 49 { 50 public: 51 explicit G4ecpssrFormFactorMixsModel(); 52 virtual ~G4ecpssrFormFactorMixsModel(); 53 54 G4double CalculateM1CrossSection (G4int zTar 55 G4double massIncident, G4double en 56 G4double CalculateM2CrossSection (G4int zTar 57 G4double massIncident, G4double en 58 G4double CalculateM3CrossSection (G4int zTar 59 G4double massIncident, G4double en 60 G4double CalculateM4CrossSection (G4int zTar 61 G4double massIncident, G4double en 62 G4double CalculateM5CrossSection (G4int zTar 63 G4double massIncident, G4double en 64 G4ecpssrFormFactorMixsModel(const G4ecpssrFo 65 G4ecpssrFormFactorMixsModel & operator = (co 66 67 private: 68 G4double CalculateMiCrossSection (G4int zTar 69 G4VDataSetAlgorithm* interpolation; 70 71 std::vector< std::map<G4int,G4VEMDataSet*> > 72 std::vector< std::map<G4int,G4VEMDataSet*> > 73 74 std::map< G4int , G4VEMDataSet* > protonM1Da 75 std::map< G4int , G4VEMDataSet* > protonM2Da 76 std::map< G4int , G4VEMDataSet* > protonM3Da 77 std::map< G4int , G4VEMDataSet* > protonM4Da 78 std::map< G4int , G4VEMDataSet* > protonM5Da 79 80 std::map< G4int , G4VEMDataSet* > alphaM1Dat 81 std::map< G4int , G4VEMDataSet* > alphaM2Dat 82 std::map< G4int , G4VEMDataSet* > alphaM3Dat 83 std::map< G4int , G4VEMDataSet* > alphaM4Dat 84 std::map< G4int , G4VEMDataSet* > alphaM5Dat 85 86 }; 87 88 #endif 89