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
G4DiscreteGammaTransition.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: G4DiscreteGammaTransition
34//
35// Author: Maria Grazia Pia (pia@genova.infn.it)
36//
37// Creation date: 23 October 1998
38//
39// Modifications:
40//
41// 8 March 2002, Fan Lei (flei@space.qinetiq.com)
42// added
43// 1) SetRDM () to switch on/off IC process
44// 2) GetOrbitNumber () to return the CE oribit number
45// 3) GetBondEnergy() for the converted e-
46// 4) IsaGamma() to separate CE from gamma
47//
48// 21 Nov. 2001, Fan Lei (flei@space.qinetiq.com)
49// i) added G4int _nucleusZ initialise it through the constructor
50// ii) modified SelectGamma() to allow the generation of conversion electrons
51// iii) added #include G4AtomicShells.hh
52//
53// 15 April 1999, Alessandro Brunengo (Alessandro.Brunengo@ge.infn.it)
54// Added creation time evaluation for products of evaporation
55//
56//
57// 19 April 2010, J. M. Quesada.
58// Corrections added for taking into account mismatch between tabulated
59// gamma energies and level energy differences (fake photons eliminated)
60//
61// 6 October 2010, M. Kelsey
62// Store NuclearLevel as const-reference, not as copied value.
63//
64// 5 May 2011, V.Ivanchenko removed unused constructor
65//
66// -------------------------------------------------------------------
67
68#ifndef G4DiscreteGammaTransition_hh
69#define G4DiscreteGammaTransition_hh
70
71#include "globals.hh"
72#include "G4VGammaTransition.hh"
73
74class G4NuclearLevel;
75//JMQ 180410
77
78
80{
81public:
82
83 //JMQ 180410
85
86 // Destructor
88
89 // Functions
90
91public:
92
93 virtual void SetEnergyFrom(G4double energy);
94 virtual G4double GetGammaEnergy();
96 virtual void SelectGamma();
97
98 inline void SetICM(G4bool ic) { _icm = ic; };
99 inline G4bool GetICM() const { return _icm;};
100 inline G4double GetBondEnergy () {return _bondE;};
101 inline G4int GetOrbitNumber () {return _orbitE;};
102 inline G4bool IsAGamma() {return _aGamma;};
103
104private:
105
106 G4int _nucleusZ;
107 G4int _orbitE;
108 G4double _bondE;
109 G4bool _aGamma;
110 G4bool _icm;
111
112 G4double _gammaEnergy;
113 const G4NuclearLevel& _level;
114 G4double _excitation;
115 G4double _gammaCreationTime;
116 //JMQ 180410
117 G4int _A;
118 G4int _Z;
119 G4NuclearLevelManager * _levelManager;
120 //JMQ 190410
121 G4double _tolerance;
122};
123
124
125#endif
126
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
bool G4bool
Definition: G4Types.hh:67
virtual void SetEnergyFrom(G4double energy)