Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GammaRayTelHadronPhysics Class Reference

#include <GammaRayTelHadronPhysics.hh>

Inheritance diagram for GammaRayTelHadronPhysics:
Collaboration diagram for GammaRayTelHadronPhysics:

Public Member Functions

 GammaRayTelHadronPhysics (const G4String &name="hadron")
 
virtual ~GammaRayTelHadronPhysics ()
 
void ConstructParticle ()
 
void ConstructProcess ()
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 

Protected Attributes

G4HadronElasticProcess theElasticProcess
 
G4HadronElastictheElasticModel
 
G4PionPlusInelasticProcess thePionPlusInelastic
 
G4hMultipleScattering thePionPlusMult
 
G4hIonisation thePionPlusIonisation
 
G4PionMinusInelasticProcess thePionMinusInelastic
 
G4hMultipleScattering thePionMinusMult
 
G4hIonisation thePionMinusIonisation
 
G4PiMinusAbsorptionBertini thePionMinusAbsorption
 
G4TheoFSGeneratortheModel
 
G4ExcitationHandler theHandler
 
G4PreCompoundModelthePreEquilib
 
G4GeneratorPrecompoundInterfacetheCascade
 
G4FTFModeltheStringModel
 
G4QGSMFragmentation theFragmentation
 
G4ExcitedStringDecaytheStringDecay
 
G4KaonPlusInelasticProcess theKaonPlusInelastic
 
G4hMultipleScattering theKaonPlusMult
 
G4hIonisation theKaonPlusIonisation
 
G4KaonMinusInelasticProcess theKaonMinusInelastic
 
G4hMultipleScattering theKaonMinusMult
 
G4hIonisation theKaonMinusIonisation
 
G4KaonMinusAbsorptionBertini theKaonMinusAbsorption
 
G4KaonZeroLInelasticProcess theKaonZeroLInelastic
 
G4KaonZeroSInelasticProcess theKaonZeroSInelastic
 
G4ProtonInelasticProcess theProtonInelastic
 
G4hMultipleScattering theProtonMult
 
G4hIonisation theProtonIonisation
 
G4AntiProtonInelasticProcess theAntiProtonInelastic
 
G4hMultipleScattering theAntiProtonMult
 
G4hIonisation theAntiProtonIonisation
 
G4AntiProtonAbsorptionFritiof theAntiProtonAnnihilation
 
G4NeutronInelasticProcess theNeutronInelastic
 
G4HadronFissionProcess theNeutronFission
 
G4LFissiontheNeutronFissionModel
 
G4HadronCaptureProcesstheNeutronCapture
 
G4AntiNeutronInelasticProcess theAntiNeutronInelastic
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4int g4vpcInstanceID
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 95 of file GammaRayTelHadronPhysics.hh.

Constructor & Destructor Documentation

GammaRayTelHadronPhysics::GammaRayTelHadronPhysics ( const G4String name = "hadron")

Definition at line 39 of file GammaRayTelHadronPhysics.cc.

40  : G4VPhysicsConstructor(name)
41 {;}
G4VPhysicsConstructor(const G4String &="")
GammaRayTelHadronPhysics::~GammaRayTelHadronPhysics ( )
virtual

Definition at line 43 of file GammaRayTelHadronPhysics.cc.

44 {
45  delete theStringDecay;
46 }
G4ExcitedStringDecay * theStringDecay

Member Function Documentation

void GammaRayTelHadronPhysics::ConstructParticle ( void  )
inlinevirtual

Implements G4VPhysicsConstructor.

Definition at line 104 of file GammaRayTelHadronPhysics.hh.

104 {};
void GammaRayTelHadronPhysics::ConstructProcess ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 52 of file GammaRayTelHadronPhysics.cc.

53 {
54 
55  G4ProcessManager * pManager = 0;
56  /*
57  G4cout << "" << G4endl;
58  G4cout << "You are using the GammaRayTelHadronPhysics" << G4endl;
59  G4cout << " - Note that this hadronic physics list is not optimized for any particular usage" << G4endl;
60  G4cout << " - If you wish to have a starting point tailored for a particular area of work," << G4endl;
61  G4cout << " please use one of the available physics lists by use-case." << G4endl;
62  G4cout << "" << G4endl;
63  */
64 
65  // Elastic Process
68 
69  const G4double theBERTMin = 0.0*GeV;
70  const G4double theBERTMax = 5.0*GeV;
71  const G4double theFTFMin = 4.0*GeV;
72  const G4double theFTFMax = 100.0*TeV;
73 
79 
80  theModel = new G4TheoFSGenerator( "FTFP" );
83  theModel->SetMinEnergy( theFTFMin );
84  theModel->SetMaxEnergy( theFTFMax );
85 
86  G4TheoFSGenerator* theModelDownToZero = new G4TheoFSGenerator( "FTFP" );
87  theModelDownToZero->SetHighEnergyGenerator( theStringModel );
88  theModelDownToZero->SetTransport( theCascade );
89  theModelDownToZero->SetMinEnergy(0*eV);
90  theModelDownToZero->SetMaxEnergy(theFTFMax );
91 
92  G4CascadeInterface * theBERTModel = new G4CascadeInterface;
93  theBERTModel->SetMinEnergy( theBERTMin );
94  theBERTModel->SetMaxEnergy( theBERTMax );
95 
96  // pi+ and pi-
97 
100 
101 
102  // PionPlus
104  pManager = pion ->GetProcessManager();
105  // add process
107  thePionPlusInelastic.AddDataSet(thePiData);
108  thePionPlusInelastic.RegisterMe(theBERTModel);
111 
112  pManager->AddProcess(&thePionPlusIonisation, ordInActive,2, 2);
113 
114  pManager->AddProcess(&thePionPlusMult);
117 
118  // PionMinus
120  pManager = pionMinus -> GetProcessManager();
121  // add process
124  thePionMinusInelastic.RegisterMe(theBERTModel);
127 
129 
130  pManager->AddProcess(&thePionMinusMult);
133 
135 
136  // KaonPlus
138  pManager = kaonPlus->GetProcessManager();
139  // add process
142  GetCrossSectionDataSet(G4ChipsKaonPlusInelasticXS::Default_Name()));
143  theKaonPlusInelastic.RegisterMe(theBERTModel);
146 
147  pManager->AddProcess(&theKaonPlusIonisation, ordInActive,2, 2);
148 
149  pManager->AddProcess(&theKaonPlusMult);
152 
153  // KaonMinus
155  pManager = kaonMinus->GetProcessManager();
156  // add process
159  GetCrossSectionDataSet(G4ChipsKaonMinusInelasticXS::Default_Name()));
160  theKaonMinusInelastic.RegisterMe(theBERTModel);
163 
165 
166  pManager->AddProcess(&theKaonMinusMult);
169 
171 
172  // KaonZeroL
174  // add process
177  ->GetCrossSectionDataSet(G4ChipsKaonZeroInelasticXS::Default_Name()));
178  theKaonZeroLInelastic.RegisterMe(theBERTModel);
181 
182  // KaonZeroS
184  // add process
187  ->GetCrossSectionDataSet(G4ChipsKaonZeroInelasticXS::Default_Name()));
188  theKaonZeroSInelastic.RegisterMe(theBERTModel);
191 
192  // Proton
193  pManager = G4Proton::Proton()->GetProcessManager();
194  // add process
197  theProtonInelastic.RegisterMe(theBERTModel);
200 
201  pManager->AddProcess(&theProtonIonisation, ordInActive,2, 2);
202 
203  pManager->AddProcess(&theProtonMult);
206 
207  // anti-Proton
209  // add process
211  theAntiProtonInelastic.AddDataSet( theAntiNucleonData );
212  theAntiProtonInelastic.RegisterMe(theModelDownToZero);
214 
216 
217  pManager->AddProcess(&theAntiProtonMult);
220 
222 
223  // Neutron
224  pManager = G4Neutron::Neutron()->GetProcessManager();
225  // add process
228  theNeutronInelastic.RegisterMe(theBERTModel);
231 
235 
239 
240  // AntiNeutron
242  // add process
244  theAntiNeutronInelastic.AddDataSet( theAntiNucleonData );
245  theAntiNeutronInelastic.RegisterMe(theModelDownToZero);
247 
248 }
G4PionMinusInelasticProcess thePionMinusInelastic
G4HadronFissionProcess theNeutronFission
G4KaonPlusInelasticProcess theKaonPlusInelastic
static G4KaonPlus * KaonPlusDefinition()
Definition: G4KaonPlus.cc:108
G4hMultipleScattering thePionMinusMult
G4KaonZeroSInelasticProcess theKaonZeroSInelastic
G4bool pion(G4int ityp)
G4hMultipleScattering theKaonMinusMult
void SetFragmentationModel(G4VStringFragmentation *aModel)
G4ExcitedStringDecay * theStringDecay
static G4KaonMinus * KaonMinusDefinition()
Definition: G4KaonMinus.cc:108
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
G4hMultipleScattering thePionPlusMult
static G4KaonZeroLong * KaonZeroLong()
G4AntiNeutronInelasticProcess theAntiNeutronInelastic
G4KaonMinusInelasticProcess theKaonMinusInelastic
G4HadronCaptureProcess * theNeutronCapture
G4KaonZeroLInelasticProcess theKaonZeroLInelastic
void SetHighEnergyGenerator(G4VHighEnergyGenerator *const value)
G4AntiProtonAbsorptionFritiof theAntiProtonAnnihilation
void RegisterMe(G4HadronicInteraction *a)
static constexpr double TeV
Definition: G4SIunits.hh:218
void SetMinEnergy(G4double anEnergy)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
static G4KaonZeroShort * KaonZeroShort()
static G4AntiProton * AntiProton()
Definition: G4AntiProton.cc:93
static G4PionMinus * PionMinusDefinition()
Definition: G4PionMinus.cc:93
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
static G4CrossSectionDataSetRegistry * Instance()
static G4PionPlus * PionPlusDefinition()
Definition: G4PionPlus.cc:93
static G4Proton * Proton()
Definition: G4Proton.cc:93
static constexpr double eV
Definition: G4SIunits.hh:215
G4hMultipleScattering theProtonMult
static G4Neutron * Neutron()
Definition: G4Neutron.cc:104
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
G4ProtonInelasticProcess theProtonInelastic
G4PionPlusInelasticProcess thePionPlusInelastic
G4HadronElasticProcess theElasticProcess
G4ProcessManager * GetProcessManager() const
G4AntiProtonInelasticProcess theAntiProtonInelastic
static constexpr double GeV
Definition: G4SIunits.hh:217
G4PiMinusAbsorptionBertini thePionMinusAbsorption
G4hMultipleScattering theAntiProtonMult
void SetMaxEnergy(const G4double anEnergy)
G4hMultipleScattering theKaonPlusMult
void SetTransport(G4VIntraNuclearTransportModel *const value)
G4int AddRestProcess(G4VProcess *aProcess, G4int ord=ordDefault)
double G4double
Definition: G4Types.hh:76
G4GeneratorPrecompoundInterface * theCascade
G4NeutronInelasticProcess theNeutronInelastic
G4KaonMinusAbsorptionBertini theKaonMinusAbsorption
static G4AntiNeutron * AntiNeutron()

Here is the call graph for this function:

Member Data Documentation

G4AntiNeutronInelasticProcess GammaRayTelHadronPhysics::theAntiNeutronInelastic
protected

Definition at line 172 of file GammaRayTelHadronPhysics.hh.

G4AntiProtonAbsorptionFritiof GammaRayTelHadronPhysics::theAntiProtonAnnihilation
protected

Definition at line 163 of file GammaRayTelHadronPhysics.hh.

G4AntiProtonInelasticProcess GammaRayTelHadronPhysics::theAntiProtonInelastic
protected

Definition at line 160 of file GammaRayTelHadronPhysics.hh.

G4hIonisation GammaRayTelHadronPhysics::theAntiProtonIonisation
protected

Definition at line 162 of file GammaRayTelHadronPhysics.hh.

G4hMultipleScattering GammaRayTelHadronPhysics::theAntiProtonMult
protected

Definition at line 161 of file GammaRayTelHadronPhysics.hh.

G4GeneratorPrecompoundInterface* GammaRayTelHadronPhysics::theCascade
protected

Definition at line 132 of file GammaRayTelHadronPhysics.hh.

G4HadronElastic* GammaRayTelHadronPhysics::theElasticModel
protected

Definition at line 114 of file GammaRayTelHadronPhysics.hh.

G4HadronElasticProcess GammaRayTelHadronPhysics::theElasticProcess
protected

Definition at line 113 of file GammaRayTelHadronPhysics.hh.

G4QGSMFragmentation GammaRayTelHadronPhysics::theFragmentation
protected

Definition at line 134 of file GammaRayTelHadronPhysics.hh.

G4ExcitationHandler GammaRayTelHadronPhysics::theHandler
protected

Definition at line 130 of file GammaRayTelHadronPhysics.hh.

G4KaonMinusAbsorptionBertini GammaRayTelHadronPhysics::theKaonMinusAbsorption
protected

Definition at line 146 of file GammaRayTelHadronPhysics.hh.

G4KaonMinusInelasticProcess GammaRayTelHadronPhysics::theKaonMinusInelastic
protected

Definition at line 143 of file GammaRayTelHadronPhysics.hh.

G4hIonisation GammaRayTelHadronPhysics::theKaonMinusIonisation
protected

Definition at line 145 of file GammaRayTelHadronPhysics.hh.

G4hMultipleScattering GammaRayTelHadronPhysics::theKaonMinusMult
protected

Definition at line 144 of file GammaRayTelHadronPhysics.hh.

G4KaonPlusInelasticProcess GammaRayTelHadronPhysics::theKaonPlusInelastic
protected

Definition at line 138 of file GammaRayTelHadronPhysics.hh.

G4hIonisation GammaRayTelHadronPhysics::theKaonPlusIonisation
protected

Definition at line 140 of file GammaRayTelHadronPhysics.hh.

G4hMultipleScattering GammaRayTelHadronPhysics::theKaonPlusMult
protected

Definition at line 139 of file GammaRayTelHadronPhysics.hh.

G4KaonZeroLInelasticProcess GammaRayTelHadronPhysics::theKaonZeroLInelastic
protected

Definition at line 149 of file GammaRayTelHadronPhysics.hh.

G4KaonZeroSInelasticProcess GammaRayTelHadronPhysics::theKaonZeroSInelastic
protected

Definition at line 152 of file GammaRayTelHadronPhysics.hh.

G4TheoFSGenerator* GammaRayTelHadronPhysics::theModel
protected

Definition at line 129 of file GammaRayTelHadronPhysics.hh.

G4HadronCaptureProcess* GammaRayTelHadronPhysics::theNeutronCapture
protected

Definition at line 169 of file GammaRayTelHadronPhysics.hh.

G4HadronFissionProcess GammaRayTelHadronPhysics::theNeutronFission
protected

Definition at line 167 of file GammaRayTelHadronPhysics.hh.

G4LFission* GammaRayTelHadronPhysics::theNeutronFissionModel
protected

Definition at line 168 of file GammaRayTelHadronPhysics.hh.

G4NeutronInelasticProcess GammaRayTelHadronPhysics::theNeutronInelastic
protected

Definition at line 166 of file GammaRayTelHadronPhysics.hh.

G4PiMinusAbsorptionBertini GammaRayTelHadronPhysics::thePionMinusAbsorption
protected

Definition at line 125 of file GammaRayTelHadronPhysics.hh.

G4PionMinusInelasticProcess GammaRayTelHadronPhysics::thePionMinusInelastic
protected

Definition at line 122 of file GammaRayTelHadronPhysics.hh.

G4hIonisation GammaRayTelHadronPhysics::thePionMinusIonisation
protected

Definition at line 124 of file GammaRayTelHadronPhysics.hh.

G4hMultipleScattering GammaRayTelHadronPhysics::thePionMinusMult
protected

Definition at line 123 of file GammaRayTelHadronPhysics.hh.

G4PionPlusInelasticProcess GammaRayTelHadronPhysics::thePionPlusInelastic
protected

Definition at line 117 of file GammaRayTelHadronPhysics.hh.

G4hIonisation GammaRayTelHadronPhysics::thePionPlusIonisation
protected

Definition at line 119 of file GammaRayTelHadronPhysics.hh.

G4hMultipleScattering GammaRayTelHadronPhysics::thePionPlusMult
protected

Definition at line 118 of file GammaRayTelHadronPhysics.hh.

G4PreCompoundModel* GammaRayTelHadronPhysics::thePreEquilib
protected

Definition at line 131 of file GammaRayTelHadronPhysics.hh.

G4ProtonInelasticProcess GammaRayTelHadronPhysics::theProtonInelastic
protected

Definition at line 155 of file GammaRayTelHadronPhysics.hh.

G4hIonisation GammaRayTelHadronPhysics::theProtonIonisation
protected

Definition at line 157 of file GammaRayTelHadronPhysics.hh.

G4hMultipleScattering GammaRayTelHadronPhysics::theProtonMult
protected

Definition at line 156 of file GammaRayTelHadronPhysics.hh.

G4ExcitedStringDecay* GammaRayTelHadronPhysics::theStringDecay
protected

Definition at line 135 of file GammaRayTelHadronPhysics.hh.

G4FTFModel* GammaRayTelHadronPhysics::theStringModel
protected

Definition at line 133 of file GammaRayTelHadronPhysics.hh.


The documentation for this class was generated from the following files: