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
G4StatMFFragment.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//
27// $Id$
28//
29// Hadronic Process: Nuclear De-excitations
30// by V. Lara
31
32#ifndef G4StatMFFragment_h
33#define G4StatMFFragment_h 1
34
35#include "G4StatMFParameters.hh"
36#include "G4ThreeVector.hh"
37#include "G4ParticleTable.hh"
38#include "G4IonTable.hh"
39#include "G4Fragment.hh"
40
42
43public:
44 // Constructor
46 theA(anA),theZ(aZ),
47 _position(0.0,0.0,0.0),
48 _momentum(0.0,0.0,0.0)
49 {}
50
51
52 // Destructor
53 virtual ~G4StatMFFragment() {};
54
55
56private:
57 // Default constructor
59
60 // Copy constructor
62
63 // operators
64 G4StatMFFragment & operator=(const G4StatMFFragment & right);
65public:
66 G4bool operator==(const G4StatMFFragment & right) const;
67 G4bool operator!=(const G4StatMFFragment & right) const;
68
69public:
70
71 G4double GetCoulombEnergy(void) const;
72
73 G4double GetEnergy(const G4double T) const;
74
75 G4double GetInvLevelDensity(void) const;
76
77 G4int GetA(void) const {return theA;}
78
79 G4int GetZ(void) const {return theZ;}
80
81 void SetPosition(const G4ThreeVector aPosition) {_position = aPosition;}
82
83 G4ThreeVector GetPosition(void) {return _position;}
84
85 void SetMomentum(const G4ThreeVector aMomentum) {_momentum = aMomentum;}
86
87 G4ThreeVector GetMomentum(void) {return _momentum;}
88
90
93 ->GetIonMass(theZ, theA);}
94
95
96private:
97
98 G4double CalcExcitationEnergy(const G4double T);
99
100private:
101
102 G4int theA;
103
104 G4int theZ;
105
106 G4ThreeVector _position;
107
108 G4ThreeVector _momentum;
109};
110
111#endif
112
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
bool G4bool
Definition: G4Types.hh:67
G4double GetIonMass(G4int Z, G4int A, G4int L=0) const
!! Only ground states are supported now
Definition: G4IonTable.cc:774
static G4ParticleTable * GetParticleTable()
G4IonTable * GetIonTable()
G4int GetZ(void) const
G4bool operator==(const G4StatMFFragment &right) const
G4int GetA(void) const
G4double GetInvLevelDensity(void) const
G4Fragment * GetFragment(const G4double T)
G4StatMFFragment(G4int anA, G4int aZ)
G4ThreeVector GetMomentum(void)
G4double GetNuclearMass(void)
void SetPosition(const G4ThreeVector aPosition)
G4double GetEnergy(const G4double T) const
G4bool operator!=(const G4StatMFFragment &right) const
virtual ~G4StatMFFragment()
G4double GetCoulombEnergy(void) const
G4ThreeVector GetPosition(void)
void SetMomentum(const G4ThreeVector aMomentum)