Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4PhotonEvaporation.hh
Go to the documentation of this file.
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// $Id$
27//
28// -------------------------------------------------------------------
29// GEANT 4 class file
30//
31// CERN, Geneva, Switzerland
32//
33// File name: G4PhotonEvaporation
34//
35// Author: Maria Grazia Pia (pia@genova.infn.it)
36//
37// Creation date: 23 October 1998
38//
39//Modifications:
40//
41// 18 October 2002, Fan Lei (flei@space.qinetiq.com)
42//
43// Implementation of Internal Convertion process in discrete deexcitation
44// The following public methods have been added.
45//
46// void SetICM (G4bool);
47// void RDMForced(G4bool);
48// void SetMaxHalfLife(G4double) ;
49// void SetEOccupancy( G4ElectronOccupancy eOccupancy) ;
50// G4ElectronOccupancy GetEOccupancy () ;
51// G4int GetVacantShellNumber () { return _vShellNumber;};
52//
53// and the following priivate menbers
54//
55// G4ElectronOccupancy _eOccupancy;
56// G4int _vShellNumber;
57//
58// 11 May 2010, V.Ivanchenko added EmittedFragment and BreakUpFragment
59// methods
60//
61// -------------------------------------------------------------------
62
63#ifndef G4PHOTONEVAPORATION_HH
64#define G4PHOTONEVAPORATION_HH 1
65
66#include "globals.hh"
71
72class G4Fragment;
73
75
76public:
77
79
80 virtual ~G4PhotonEvaporation();
81
82 virtual G4Fragment* EmittedFragment(G4Fragment* theNucleus);
83
84 virtual G4FragmentVector* BreakUpFragment(G4Fragment* theNucleus);
85
86 virtual G4FragmentVector * BreakItUp(const G4Fragment & nucleus);
87
88 virtual G4FragmentVector * BreakUp(const G4Fragment & nucleus);
89
90 virtual G4double GetEmissionProbability(G4Fragment* theNucleus);
91
92 virtual void SetEmissionStrategy(G4VEmissionProbability * probAlgorithm);
93
94 void SetVerboseLevel(G4int verbose);
95
96 void SetICM (G4bool);
97
98 void RDMForced (G4bool);
99
101
102 void SetTimeLimit(G4double value);
103
104 void SetEOccupancy( G4ElectronOccupancy eOccupancy) ;
105
106 G4ElectronOccupancy GetEOccupancy () { return _eOccupancy;} ;
107
108 G4int GetVacantShellNumber () { return _vShellNumber;};
109
110private:
111
112 G4int _verbose;
113 G4bool _myOwnProbAlgorithm;
114 G4VEmissionProbability * _probAlgorithm;
115 G4VGammaDeexcitation * _discrDeexcitation;
116 G4VGammaDeexcitation * _contDeexcitation;
117
118 G4ElectronOccupancy _eOccupancy;
119 G4int _vShellNumber;
120
121 G4Fragment* _nucleus;
122 G4double _gammaE;
123
125 const G4PhotonEvaporation & operator = (const G4PhotonEvaporation & right);
126
127 G4bool operator == (const G4PhotonEvaporation & right) const;
128 G4bool operator != (const G4PhotonEvaporation & right) const;
129
130 //#ifdef debug
131 // void CheckConservation(const G4Fragment & theInitialState, G4FragmentVector * Result) const;
132 //#endif
133
134
135};
136
137#endif
138
139
140
std::vector< G4Fragment * > G4FragmentVector
Definition: G4Fragment.hh:65
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
bool G4bool
Definition: G4Types.hh:67
G4ElectronOccupancy GetEOccupancy()
virtual G4FragmentVector * BreakItUp(const G4Fragment &nucleus)
void SetMaxHalfLife(G4double)
virtual G4Fragment * EmittedFragment(G4Fragment *theNucleus)
virtual G4FragmentVector * BreakUp(const G4Fragment &nucleus)
virtual G4double GetEmissionProbability(G4Fragment *theNucleus)
virtual void SetEmissionStrategy(G4VEmissionProbability *probAlgorithm)
virtual G4FragmentVector * BreakUpFragment(G4Fragment *theNucleus)
void SetTimeLimit(G4double value)
void SetEOccupancy(G4ElectronOccupancy eOccupancy)
void SetVerboseLevel(G4int verbose)