Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer << 3 // * DISCLAIMER * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th << 5 // * The following disclaimer summarizes all the specific disclaimers * 6 // * the Geant4 Collaboration. It is provided << 6 // * of contributors to this software. The specific disclaimers,which * 7 // * conditions of the Geant4 Software License << 7 // * govern, are listed with their locations in: * 8 // * LICENSE and available at http://cern.ch/ << 8 // * http://cern.ch/geant4/license * 9 // * include a list of copyright holders. << 10 // * 9 // * * 11 // * Neither the authors of this software syst 10 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 11 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 12 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 13 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file << 14 // * use. * 16 // * for the full disclaimer and the limitatio << 17 // * 15 // * * 18 // * This code implementation is the result << 16 // * This code implementation is the intellectual property of the * 19 // * technical work of the GEANT4 collaboratio << 17 // * GEANT4 collaboration. * 20 // * By using, copying, modifying or distri << 18 // * By copying, distributing or modifying the Program (or any work * 21 // * any work based on the software) you ag << 19 // * based on the Program) you indicate your acceptance of this * 22 // * use in resulting scientific publicati << 20 // * statement, and all its terms. * 23 // * acceptance of all terms of the Geant4 Sof << 24 // ******************************************* 21 // ******************************************************************** 25 // 22 // 26 // 23 // >> 24 // $Id: G4AugerTransition.hh v0.1 27 // 25 // 28 // 26 // 29 // Author: Alfonso Mantero (Alfosno.Mantero@ge 27 // Author: Alfonso Mantero (Alfosno.Mantero@ge.infn.it) 30 // 28 // 31 // History: 29 // History: 32 // ----------- 30 // ----------- 33 // 1 Jun 2002: first Commited to CVS 31 // 1 Jun 2002: first Commited to CVS 34 // ------------------------------------------- 32 // ------------------------------------------------------------------- >> 33 35 // Class description: 34 // Class description: 36 // Low Energy Electromagnetic Physics 35 // Low Energy Electromagnetic Physics 37 // This Class stores all the information of au 36 // This Class stores all the information of auger effect relative 38 // to one main vacancy in a atom, like possibl 37 // to one main vacancy in a atom, like possible auger emission with 39 // relative probabilites, originating shell's 38 // relative probabilites, originating shell's Ids, probabilities of 40 // transition and auger electron energies. 39 // transition and auger electron energies. >> 40 // Further documentation available from http://www.ge.infn.it/geant4/lowE >> 41 41 // ------------------------------------------- 42 // ------------------------------------------------------------------- 42 43 43 #ifndef G4AugerTransition_h 44 #ifndef G4AugerTransition_h 44 #define G4AugerTransition_h 1 45 #define G4AugerTransition_h 1 45 46 46 #include "G4DataVector.hh" 47 #include "G4DataVector.hh" 47 #include "globals.hh" 48 #include "globals.hh" 48 #include <vector> << 49 #include "g4std/vector" 49 #include <map> << 50 #include "g4std/map" 50 51 51 class G4AugerTransition { 52 class G4AugerTransition { 52 53 53 public: 54 public: 54 55 55 explicit G4AugerTransition(G4int finalShell, << 56 G4AugerTransition(G4int finalShell, G4std::vector<G4int> transIds, 56 const std::map<G4int, std::vector<G << 57 const G4std::map<G4int, G4std::vector<G4int>, G4std::less<G4int> >* idMap, 57 const std::map<G4int, G4DataVector, << 58 const G4std::map<G4int, G4DataVector, G4std::less<G4int> >* energyMap, 58 const std::map<G4int, G4DataVector, << 59 const G4std::map<G4int, G4DataVector, G4std::less<G4int> >* probabilityMap); 59 << 60 60 ~G4AugerTransition(); 61 ~G4AugerTransition(); 61 62 62 /// All the data stored and provided by this << 63 // All the data stored and provided by this class are relative to a 63 /// given vacancy, whose identity is provide << 64 // given vacancy, whose identity is provided by the FinalShellId() method, 64 /// in an atom of a given material << 65 // in an atom of a given material 65 << 66 66 /// Returns the ids of the shells from wich << 67 // Returns the ids of the shells from wich an auger electron culd came from, given the shell 67 /// from wich the transition electron comes << 68 // from wich the transition electron comes from. 68 const std::vector<G4int>* AugerOriginatingSh << 69 69 70 /// Returns the ids of the shells from wich << 70 const G4std::vector<G4int>* AugerOriginatingShellIds(G4int startShellId) const; 71 const std::vector<G4int>* TransitionOriginat << 71 >> 72 // Returns the ids of the shells from wich an electron cuuld fill the vacancy in finalShellId >> 73 >> 74 const G4std::vector<G4int>* TransitionOriginatingShellIds() const; >> 75 >> 76 // Returns the energiess of the possible auger electrons, given th shell >> 77 // from wich the transition electron comes from. 72 78 73 /// Returns the energiess of the possible au << 74 /// from wich the transition electron comes << 75 const G4DataVector* AugerTransitionEnergies( 79 const G4DataVector* AugerTransitionEnergies(G4int startShellId) const; 76 80 77 /// Returns the emission probabilities of th << 81 // Returns the emission probabilities of the auger electrons, given th shell 78 /// from wich the transition electron comes << 82 // from wich the transition electron comes from. >> 83 79 const G4DataVector* AugerTransitionProbabili 84 const G4DataVector* AugerTransitionProbabilities(G4int startShellId) const; 80 85 81 /// returns the id of the shell in wich the << 86 // returns the id of the shell in wich the transition electron arrives 82 G4int FinalShellId() const; << 87 >> 88 const G4int FinalShellId() const; >> 89 >> 90 // Returns the id of the shell from wich come the auger electron , given the shell >> 91 // from wich the transition electron comes from and the index number. 83 92 84 /// Returns the id of the shell from wich co << 85 /// from wich the transition electron comes << 86 G4int AugerOriginatingShellId(G4int index, G 93 G4int AugerOriginatingShellId(G4int index, G4int startShellId) const; 87 94 88 /// Returns the energy of the auger electron << 95 // Returns the energy of the auger electron, given the shell 89 /// from wich the transition electron comes << 96 // from wich the transition electron comes from and the index number. >> 97 90 G4double AugerTransitionEnergy(G4int index, 98 G4double AugerTransitionEnergy(G4int index, G4int startShellId) const; 91 99 92 /// Returns the probability of the auger emi << 100 // Returns the probability of the auger emission, given the shell 93 /// from wich the transition electron comes << 101 // from wich the transition electron comes from and the index number. >> 102 94 G4double AugerTransitionProbability(G4int in 103 G4double AugerTransitionProbability(G4int index, G4int startShellId) const; 95 104 96 /// Returns the id of the shell form wich th << 105 // Returns the id of the shell form wich the transition electron come from >> 106 97 G4int TransitionOriginatingShellId(G4int ind 107 G4int TransitionOriginatingShellId(G4int index) const; 98 108 99 109 100 private: << 110 private: 101 std::map<G4int,std::vector<G4int>,std::less< << 102 std::map<G4int,G4DataVector,std::less<G4int> << 103 std::map<G4int,G4DataVector,std::less<G4int> << 104 std::vector<G4int> transitionOriginatingShel << 105 << 106 G4int finalShellId; << 107 111 >> 112 G4int finalShellId; >> 113 G4std::map<G4int,G4std::vector<G4int>,G4std::less<G4int> > augerOriginatingShellIdsMap; >> 114 G4std::map<G4int,G4DataVector,G4std::less<G4int> > augerTransitionEnergiesMap; >> 115 G4std::map<G4int,G4DataVector,G4std::less<G4int> > augerTransitionProbabilitiesMap; >> 116 G4std::vector<G4int> transitionOriginatingShellIds; >> 117 108 }; 118 }; 109 119 110 #endif 120 #endif 111 121 112 122 113 123