Geant4
10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4QGSMFragmentation.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
//
28
// -----------------------------------------------------------------------------
29
// GEANT 4 class implementation file
30
//
31
// History: first implementation, Maxim Komogorov, 10-Jul-1998
32
// -----------------------------------------------------------------------------
33
#ifndef G4QGSMFragmentation_h
34
#define G4QGSMFragmentation_h 1
35
36
#include "
G4VLongitudinalStringDecay.hh
"
37
38
//******************************************************************************
39
class
G4QGSMFragmentation
:
public
G4VLongitudinalStringDecay
40
{
41
public
:
42
G4QGSMFragmentation
();
43
~G4QGSMFragmentation
();
44
virtual
G4KineticTrackVector
*
FragmentString
(
const
G4ExcitedString
& theString);
45
46
private
:
47
// not implemented to protect/forbid use
48
G4QGSMFragmentation
(
const
G4QGSMFragmentation
&right);
49
const
G4QGSMFragmentation
& operator=(
const
G4QGSMFragmentation
&right);
50
G4bool
operator==(
const
G4QGSMFragmentation
&right)
const
;
51
G4bool
operator!=(
const
G4QGSMFragmentation
&right)
const
;
52
53
private
:
54
virtual
G4bool
StopFragmenting(
const
G4FragmentingString
*
string
);
55
virtual
G4bool
IsItFragmentable(
const
G4FragmentingString
*
string
);
56
57
virtual
G4bool
SplitLast(
G4FragmentingString
*
string
,
58
G4KineticTrackVector
* LeftVector,
59
G4KineticTrackVector
* RightVector);
60
61
virtual
void
Sample4Momentum(
G4LorentzVector
* Mom,
G4double
Mass,
G4LorentzVector
* AntiMom,
62
G4double
AntiMass,
G4double
InitialMass);
63
64
virtual
G4KineticTrack
* Splitup(
G4FragmentingString
*
string
,
65
G4FragmentingString
*&newString);
66
67
// The hadron can be producet at QuarkSplitup or DiQuarkSplitup
68
// virtual G4ParticleDefinition * QuarkSplitup(G4ParticleDefinition* decay,
69
// G4ParticleDefinition *&created);
70
71
virtual
G4ParticleDefinition
* DiQuarkSplitup(
G4ParticleDefinition
* decay,
72
G4ParticleDefinition
*&created);
73
74
virtual
G4LorentzVector
* SplitEandP(
G4ParticleDefinition
* pHadron,
75
G4FragmentingString
*
string
,
76
G4FragmentingString
* newString);
77
78
virtual
G4double
GetLightConeZ(
G4double
zmin,
G4double
zmax,
G4int
PartonEncoding,
79
G4ParticleDefinition
* pHadron,
G4double
Px,
G4double
Py);
80
81
private
:
82
// model parameters
83
G4double
arho;
84
G4double
aphi;
85
G4double
aJPs;
// alpha_J/Psi
86
G4double
aUps;
// alpha_Y
87
G4double
an;
88
G4double
ala;
89
90
G4double
alaC;
91
G4double
alaB;
92
G4double
aXi;
93
G4double
aXiC;
94
G4double
aXiB;
95
G4double
aXiCC;
96
G4double
aXiCB;
97
G4double
aXiBB;
98
99
G4double
aksi;
100
G4double
alft;
101
102
G4double
FFq2q[5][5][2];
103
G4double
FFq2qq[5][15][2];
104
G4double
FFqq2q[15][5][2];
105
G4double
FFqq2qq[15][5][2];
106
107
private
:
108
void
SetFFq2q();
109
void
SetFFq2qq();
110
void
SetFFqq2qq();
111
void
SetFFqq2q();
112
113
G4int
IndexDiQ[5][5];
114
};
115
116
// Class G4QGSMFragmentation
117
118
#endif
119
G4double
double G4double
Definition:
G4Types.hh:83
G4bool
bool G4bool
Definition:
G4Types.hh:86
G4int
int G4int
Definition:
G4Types.hh:85
G4VLongitudinalStringDecay.hh
CLHEP::HepLorentzVector
Definition:
LorentzVector.h:67
G4ExcitedString
Definition:
G4ExcitedString.hh:52
G4FragmentingString
Definition:
G4FragmentingString.hh:50
G4KineticTrackVector
Definition:
G4KineticTrackVector.hh:39
G4KineticTrack
Definition:
G4KineticTrack.hh:57
G4ParticleDefinition
Definition:
G4ParticleDefinition.hh:60
G4QGSMFragmentation
Definition:
G4QGSMFragmentation.hh:40
G4QGSMFragmentation::FragmentString
virtual G4KineticTrackVector * FragmentString(const G4ExcitedString &theString)
Definition:
G4QGSMFragmentation.cc:116
G4QGSMFragmentation::~G4QGSMFragmentation
~G4QGSMFragmentation()
Definition:
G4QGSMFragmentation.cc:111
G4QGSMFragmentation::G4QGSMFragmentation
G4QGSMFragmentation()
Definition:
G4QGSMFragmentation.cc:49
G4VLongitudinalStringDecay
Definition:
G4VLongitudinalStringDecay.hh:47
geant4-v10.7.0
source
processes
hadronic
models
parton_string
hadronization
include
G4QGSMFragmentation.hh
Generated by
1.9.6