Geant4
10.03.p03
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4MuonVDNuclearModel.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
// Author: D.H. Wright
29
// Date: 2 February 2011
30
//
31
// Description: model of muon nuclear interaction in which a gamma from
32
// the virtual photon spectrum interacts in the nucleus as
33
// a real gamma at low energies and as a pi0 at high energies.
34
// Kokoulin's muon cross section and equivalent gamma spectrum
35
// are used.
36
//
37
38
#ifndef G4MuonVDNuclearModel_h
39
#define G4MuonVDNuclearModel_h 1
40
41
#include "
G4HadronicInteraction.hh
"
42
43
class
G4CascadeInterface
;
44
class
G4TheoFSGenerator
;
45
class
G4LundStringFragmentation
;
46
class
G4ExcitedStringDecay
;
47
class
G4KokoulinMuonNuclearXS
;
48
class
G4ElementData
;
49
50
class
G4MuonVDNuclearModel
:
public
G4HadronicInteraction
51
{
52
public
:
53
54
explicit
G4MuonVDNuclearModel
();
55
virtual
~G4MuonVDNuclearModel
();
56
57
virtual
G4HadFinalState
*
ApplyYourself
(
const
G4HadProjectile
& aTrack,
58
G4Nucleus
& targetNucleus);
59
60
virtual
void
ModelDescription
(std::ostream& outFile)
const
;
61
62
private
:
63
64
G4DynamicParticle
* CalculateEMVertex(
const
G4HadProjectile
& aTrack,
65
G4Nucleus
& targetNucleus);
66
67
void
CalculateHadronicVertex(
G4DynamicParticle
* incident,
68
G4Nucleus
&
target
);
69
70
void
MakeSamplingTable();
71
72
G4MuonVDNuclearModel
& operator=(
const
G4MuonVDNuclearModel
&
right
) =
delete
;
73
G4MuonVDNuclearModel
(
const
G4MuonVDNuclearModel
&) =
delete
;
74
75
static
const
G4int
NBIN = 800;
76
static
const
G4int
nzdat = 5;
77
static
const
G4int
ntdat = 73;
78
79
static
const
G4int
zdat[nzdat];
80
static
const
G4double
adat[nzdat];
81
static
const
G4double
tdat[ntdat];
82
83
static
G4ElementData
* fElementData;
84
85
G4double
CutFixed;
86
G4bool
isMaster;
87
88
G4KokoulinMuonNuclearXS
* muNucXS;
89
90
G4TheoFSGenerator
* ftfp;
91
G4LundStringFragmentation
* theFragmentation;
92
G4ExcitedStringDecay
* theStringDecay;
93
G4CascadeInterface
* bert;
94
};
95
96
#endif
97
G4HadFinalState
Definition:
G4HadFinalState.hh:45
G4ExcitedStringDecay
Definition:
G4ExcitedStringDecay.hh:38
G4Nucleus
Definition:
G4Nucleus.hh:50
target
const XML_Char * target
Definition:
expat.h:268
right
Definition:
F04UserTrackInformation.hh:37
G4DynamicParticle
Definition:
G4DynamicParticle.hh:73
G4HadProjectile
Definition:
G4HadProjectile.hh:39
G4KokoulinMuonNuclearXS
Definition:
G4KokoulinMuonNuclearXS.hh:53
G4CascadeInterface
Definition:
G4CascadeInterface.hh:88
G4int
int G4int
Definition:
G4Types.hh:78
G4HadronicInteraction
Definition:
G4HadronicInteraction.hh:64
G4TheoFSGenerator
Definition:
G4TheoFSGenerator.hh:53
G4ElementData
Definition:
G4ElementData.hh:56
G4LundStringFragmentation
Definition:
G4LundStringFragmentation.hh:42
G4bool
bool G4bool
Definition:
G4Types.hh:79
G4HadronicInteraction.hh
G4MuonVDNuclearModel::G4MuonVDNuclearModel
G4MuonVDNuclearModel()
Definition:
G4MuonVDNuclearModel.cc:72
G4MuonVDNuclearModel::ModelDescription
virtual void ModelDescription(std::ostream &outFile) const
Definition:
G4MuonVDNuclearModel.cc:389
G4double
double G4double
Definition:
G4Types.hh:76
G4MuonVDNuclearModel
Definition:
G4MuonVDNuclearModel.hh:50
G4MuonVDNuclearModel::ApplyYourself
virtual G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
Definition:
G4MuonVDNuclearModel.cc:122
G4MuonVDNuclearModel::~G4MuonVDNuclearModel
virtual ~G4MuonVDNuclearModel()
Definition:
G4MuonVDNuclearModel.cc:110
source
geant4.10.03.p03
source
processes
hadronic
models
lepto_nuclear
include
G4MuonVDNuclearModel.hh
Generated on Tue Nov 28 2017 21:44:15 for Geant4 by
1.8.5