ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4RDAugerTransition.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4RDAugerTransition.hh
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 //
27 //
28 //
29 // Author: Alfonso Mantero (Alfosno.Mantero@ge.infn.it)
30 //
31 // History:
32 // -----------
33 // 1 Jun 2002: first Commited to CVS
34 // -------------------------------------------------------------------
35 
36 // Class description:
37 // Low Energy Electromagnetic Physics
38 // This Class stores all the information of auger effect relative
39 // to one main vacancy in a atom, like possible auger emission with
40 // relative probabilites, originating shell's Ids, probabilities of
41 // transition and auger electron energies.
42 // Further documentation available from http://www.ge.infn.it/geant4/lowE
43 
44 // -------------------------------------------------------------------
45 
46 #ifndef G4RDAugerTransition_h
47 #define G4RDAugerTransition_h 1
48 
49 #include "G4DataVector.hh"
50 #include "globals.hh"
51 #include <vector>
52 #include <map>
53 
55 
56 public:
57 
58  G4RDAugerTransition(G4int finalShell, std::vector<G4int> transIds,
59  const std::map<G4int, std::vector<G4int>, std::less<G4int> >* idMap,
60  const std::map<G4int, G4DataVector, std::less<G4int> >* energyMap,
61  const std::map<G4int, G4DataVector, std::less<G4int> >* probabilityMap);
62 
64 
65 // All the data stored and provided by this class are relative to a
66 // given vacancy, whose identity is provided by the FinalShellId() method,
67 // in an atom of a given material
68 
69 // Returns the ids of the shells from wich an auger electron culd came from, given the shell
70 // from wich the transition electron comes from.
71 
72  const std::vector<G4int>* AugerOriginatingShellIds(G4int startShellId) const;
73 
74 // Returns the ids of the shells from wich an electron cuuld fill the vacancy in finalShellId
75 
76  const std::vector<G4int>* TransitionOriginatingShellIds() const;
77 
78 // Returns the energiess of the possible auger electrons, given th shell
79 // from wich the transition electron comes from.
80 
81  const G4DataVector* AugerTransitionEnergies(G4int startShellId) const;
82 
83 // Returns the emission probabilities of the auger electrons, given th shell
84 // from wich the transition electron comes from.
85 
86  const G4DataVector* AugerTransitionProbabilities(G4int startShellId) const;
87 
88 // returns the id of the shell in wich the transition electron arrives
89 
90  G4int FinalShellId() const;
91 
92 // Returns the id of the shell from wich come the auger electron , given the shell
93 // from wich the transition electron comes from and the index number.
94 
95  G4int AugerOriginatingShellId(G4int index, G4int startShellId) const;
96 
97 // Returns the energy of the auger electron, given the shell
98 // from wich the transition electron comes from and the index number.
99 
100  G4double AugerTransitionEnergy(G4int index, G4int startShellId) const;
101 
102 // Returns the probability of the auger emission, given the shell
103 // from wich the transition electron comes from and the index number.
104 
105  G4double AugerTransitionProbability(G4int index, G4int startShellId) const;
106 
107 // Returns the id of the shell form wich the transition electron come from
108 
110 
111 
112 private:
113 
115  std::map<G4int,std::vector<G4int>,std::less<G4int> > augerOriginatingShellIdsMap;
116  std::map<G4int,G4DataVector,std::less<G4int> > augerTransitionEnergiesMap;
117  std::map<G4int,G4DataVector,std::less<G4int> > augerTransitionProbabilitiesMap;
118  std::vector<G4int> transitionOriginatingShellIds;
119 
120 };
121 
122 #endif
123 
124