Geant4
9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4FTFBuilder.cc
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
//
30
// ClassName: G4FTFBuilder
31
//
32
// Author: 28 June 2009 V.Ivanchenko
33
//
34
// Modified:
35
//
36
//----------------------------------------------------------------------------
37
//
38
39
#include "
G4FTFBuilder.hh
"
40
#include "
G4FTFModel.hh
"
41
#include "
G4ExcitedStringDecay.hh
"
42
#include "
G4TheoFSGenerator.hh
"
43
#include "
G4QStringChipsParticleLevelInterface.hh
"
44
#include "
G4GeneratorPrecompoundInterface.hh
"
45
#include "
G4LundStringFragmentation.hh
"
46
#include "
G4BinaryCascade.hh
"
47
#include "
G4PreCompoundModel.hh
"
48
#include "
G4ExcitationHandler.hh
"
49
50
G4FTFBuilder::G4FTFBuilder
(
const
G4String
& aName,
G4PreCompoundModel
* p)
51
:
G4VHadronModelBuilder
(aName),
52
fStringModel(0), fStringDecay(0),
53
fPreCompound(p),fPrecoInterface(0),fLund(0)
54
{}
55
56
G4FTFBuilder::~G4FTFBuilder
()
57
{
58
delete
fStringDecay;
59
//delete fPrecoInterface;
60
delete
fLund;
61
}
62
63
G4HadronicInteraction
*
G4FTFBuilder::BuildModel
()
64
{
65
G4TheoFSGenerator
* theFTFModel =
new
G4TheoFSGenerator
(
GetName
());
66
fStringModel =
new
G4FTFModel
();
67
fLund =
new
G4LundStringFragmentation
();
68
fStringDecay =
new
G4ExcitedStringDecay
(fLund);
69
fStringModel->
SetFragmentationModel
(fStringDecay);
70
theFTFModel->
SetHighEnergyGenerator
(fStringModel);
71
72
if
(!fPreCompound) {
73
//G4ExcitationHandler* handler = new G4ExcitationHandler();
74
fPreCompound =
new
G4PreCompoundModel
();
75
}
76
77
if
(
GetName
() ==
"FTFC"
) {
78
theFTFModel->
SetTransport
(
new
G4QStringChipsParticleLevelInterface
());
79
80
}
else
if
(
GetName
() ==
"FTFB"
) {
81
G4BinaryCascade
* bic =
new
G4BinaryCascade
(fPreCompound);
82
theFTFModel->
SetTransport
(bic);
83
84
}
else
{
85
fPrecoInterface =
new
G4GeneratorPrecompoundInterface
(fPreCompound);
86
theFTFModel->
SetTransport
(fPrecoInterface);
87
}
88
89
return
theFTFModel;
90
}
G4BinaryCascade.hh
G4ExcitationHandler.hh
G4ExcitedStringDecay.hh
G4FTFBuilder.hh
G4FTFModel.hh
G4GeneratorPrecompoundInterface.hh
G4LundStringFragmentation.hh
G4PreCompoundModel.hh
G4QStringChipsParticleLevelInterface.hh
G4TheoFSGenerator.hh
G4BinaryCascade
Definition:
G4BinaryCascade.hh:71
G4ExcitedStringDecay
Definition:
G4ExcitedStringDecay.hh:39
G4FTFBuilder::~G4FTFBuilder
virtual ~G4FTFBuilder()
Definition:
G4FTFBuilder.cc:56
G4FTFBuilder::G4FTFBuilder
G4FTFBuilder(const G4String &name="FTF", G4PreCompoundModel *p=0)
Definition:
G4FTFBuilder.cc:50
G4FTFBuilder::BuildModel
virtual G4HadronicInteraction * BuildModel()
Definition:
G4FTFBuilder.cc:63
G4FTFModel
Definition:
G4FTFModel.hh:64
G4GeneratorPrecompoundInterface
Definition:
G4GeneratorPrecompoundInterface.hh:59
G4HadronicInteraction
Definition:
G4HadronicInteraction.hh:64
G4LundStringFragmentation
Definition:
G4LundStringFragmentation.hh:43
G4PreCompoundModel
Definition:
G4PreCompoundModel.hh:65
G4QStringChipsParticleLevelInterface
Definition:
G4QStringChipsParticleLevelInterface.hh:36
G4String
Definition:
G4String.hh:105
G4TheoFSGenerator
Definition:
G4TheoFSGenerator.hh:56
G4TheoFSGenerator::SetTransport
void SetTransport(G4VIntraNuclearTransportModel *const value)
Definition:
G4TheoFSGenerator.hh:96
G4TheoFSGenerator::SetHighEnergyGenerator
void SetHighEnergyGenerator(G4VHighEnergyGenerator *const value)
Definition:
G4TheoFSGenerator.hh:106
G4VHadronModelBuilder
Definition:
G4VHadronModelBuilder.hh:45
G4VHadronModelBuilder::GetName
const G4String & GetName() const
Definition:
G4VHadronModelBuilder.hh:70
G4VPartonStringModel::SetFragmentationModel
void SetFragmentationModel(G4VStringFragmentation *aModel)
Definition:
G4VPartonStringModel.hh:86
geant4-v9.6.0
source
physics_lists
builders
src
G4FTFBuilder.cc
Generated by
1.9.6