Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes
GammaRayTelIonPhysics Class Reference

#include <GammaRayTelIonPhysics.hh>

Inheritance diagram for GammaRayTelIonPhysics:
G4VPhysicsConstructor

Public Member Functions

 GammaRayTelIonPhysics (const G4String &name="ion")
 
virtual ~GammaRayTelIonPhysics ()
 
virtual void ConstructParticle ()
 
virtual 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
 
G4hMultipleScattering fIonMultipleScattering
 
G4hIonisation fIonIonisation
 
G4hMultipleScattering fDeuteronMultipleScattering
 
G4hIonisation fDeuteronIonisation
 
G4DeuteronInelasticProcess fDeuteronProcess
 
G4hMultipleScattering fTritonMultipleScattering
 
G4hIonisation fTritonIonisation
 
G4TritonInelasticProcess fTritonProcess
 
G4hMultipleScattering fAlphaMultipleScattering
 
G4hIonisation fAlphaIonisation
 
G4AlphaInelasticProcess fAlphaProcess
 
G4hMultipleScattering fHe3MultipleScattering
 
G4hIonisation fHe3Ionisation
 
- 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)
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 71 of file GammaRayTelIonPhysics.hh.

Constructor & Destructor Documentation

GammaRayTelIonPhysics::GammaRayTelIonPhysics ( const G4String name = "ion")

Definition at line 38 of file GammaRayTelIonPhysics.cc.

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

Definition at line 42 of file GammaRayTelIonPhysics.cc.

43 {;}

Member Function Documentation

void GammaRayTelIonPhysics::ConstructParticle ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 45 of file GammaRayTelIonPhysics.cc.

46 {;}
void GammaRayTelIonPhysics::ConstructProcess ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 52 of file GammaRayTelIonPhysics.cc.

References G4HadronicProcess::AddDataSet(), G4ProcessManager::AddDiscreteProcess(), G4ProcessManager::AddProcess(), G4Alpha::Alpha(), G4GGNuclNuclCrossSection::Default_Name(), G4Deuteron::Deuteron(), fAlphaIonisation, fAlphaMultipleScattering, fAlphaProcess, fDeuteronIonisation, fDeuteronMultipleScattering, fDeuteronProcess, fHe3Ionisation, fHe3MultipleScattering, fIonIonisation, fIonMultipleScattering, fTritonIonisation, fTritonMultipleScattering, fTritonProcess, G4GenericIon::GenericIon(), G4ParticleDefinition::GetProcessManager(), python.hepunit::GeV, G4He3::He3(), idxAlongStep, idxPostStep, G4CrossSectionDataSetRegistry::Instance(), ordInActive, G4HadronicProcess::RegisterMe(), G4VPartonStringModel::SetFragmentationModel(), G4TheoFSGenerator::SetHighEnergyGenerator(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), G4ProcessManager::SetProcessOrdering(), G4TheoFSGenerator::SetTransport(), python.hepunit::TeV, theElasticModel, theElasticProcess, and G4Triton::Triton().

53 {
54  G4ProcessManager * pManager = 0;
55 
56  const G4double theBERTMin = 0.0*GeV;
57  const G4double theBERTMax = 5.0*GeV;
58  const G4double theFTFMin = 4.0*GeV;
59  const G4double theFTFMax = 100.0*TeV;
60 
61  G4FTFModel* theStringModel = new G4FTFModel;
63  theStringModel->SetFragmentationModel( theStringDecay );
64  G4PreCompoundModel* thePreEquilib = new G4PreCompoundModel( new G4ExcitationHandler );
65  G4GeneratorPrecompoundInterface* theCascade = new G4GeneratorPrecompoundInterface( thePreEquilib );
66 
67  G4TheoFSGenerator* theModel = new G4TheoFSGenerator( "FTFP" );
68  theModel->SetHighEnergyGenerator( theStringModel );
69  theModel->SetTransport( theCascade );
70  theModel->SetMinEnergy( theFTFMin );
71  theModel->SetMaxEnergy( theFTFMax );
72 
73  G4CascadeInterface * theBERTModel = new G4CascadeInterface;
74  theBERTModel->SetMinEnergy( theBERTMin );
75  theBERTModel->SetMaxEnergy( theBERTMax );
76 
77  // Elastic Process
80 
81  // Generic Ion
83  // add process
85 
86  pManager->AddProcess(&fIonIonisation, ordInActive, 2, 2);
87 
91 
93  GetCrossSectionDataSet(G4GGNuclNuclCrossSection::Default_Name());
94 
95  // Deuteron
97  // add process
99  fDeuteronProcess.AddDataSet(theGGNuclNuclData);
100  fDeuteronProcess.RegisterMe(theBERTModel);
101  fDeuteronProcess.RegisterMe(theModel);
103 
104  pManager->AddProcess(&fDeuteronIonisation, ordInActive, 2, 2);
105 
109 
110  // Triton
111  pManager = G4Triton::Triton()->GetProcessManager();
112  // add process
114  fTritonProcess.AddDataSet(theGGNuclNuclData);
115  fTritonProcess.RegisterMe(theBERTModel);
116  fTritonProcess.RegisterMe(theModel);
118 
119  pManager->AddProcess(&fTritonIonisation, ordInActive, 2, 2);
120 
124 
125  // Alpha
126  pManager = G4Alpha::Alpha()->GetProcessManager();
127  // add process
129 
130  fAlphaProcess.AddDataSet(theGGNuclNuclData);
131  fAlphaProcess.RegisterMe(theBERTModel);
132  fAlphaProcess.RegisterMe(theModel);
133  pManager->AddDiscreteProcess(&fAlphaProcess);
134 
135  pManager->AddProcess(&fAlphaIonisation, ordInActive, 2, 2);
136 
140 
141  // He3
142  pManager = G4He3::He3()->GetProcessManager();
143  // add process
145 
146  pManager->AddProcess(&fHe3Ionisation, ordInActive, 2, 2);
147 
151 
152 }
G4hMultipleScattering fDeuteronMultipleScattering
void SetFragmentationModel(G4VStringFragmentation *aModel)
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
G4TritonInelasticProcess fTritonProcess
static const char * Default_Name()
G4ProcessManager * GetProcessManager() const
void SetHighEnergyGenerator(G4VHighEnergyGenerator *const value)
void RegisterMe(G4HadronicInteraction *a)
G4HadronElastic * theElasticModel
void SetMinEnergy(G4double anEnergy)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
G4DeuteronInelasticProcess fDeuteronProcess
G4HadronElasticProcess theElasticProcess
G4hMultipleScattering fTritonMultipleScattering
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
static G4CrossSectionDataSetRegistry * Instance()
static G4Triton * Triton()
Definition: G4Triton.cc:95
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
G4AlphaInelasticProcess fAlphaProcess
G4hMultipleScattering fHe3MultipleScattering
static G4Deuteron * Deuteron()
Definition: G4Deuteron.cc:94
static G4GenericIon * GenericIon()
Definition: G4GenericIon.cc:93
void SetMaxEnergy(const G4double anEnergy)
void SetTransport(G4VIntraNuclearTransportModel *const value)
G4hMultipleScattering fAlphaMultipleScattering
static G4Alpha * Alpha()
Definition: G4Alpha.cc:89
double G4double
Definition: G4Types.hh:76
G4hMultipleScattering fIonMultipleScattering
static G4He3 * He3()
Definition: G4He3.cc:94

Field Documentation

G4hIonisation GammaRayTelIonPhysics::fAlphaIonisation
protected

Definition at line 108 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4hMultipleScattering GammaRayTelIonPhysics::fAlphaMultipleScattering
protected

Definition at line 107 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4AlphaInelasticProcess GammaRayTelIonPhysics::fAlphaProcess
protected

Definition at line 109 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4hIonisation GammaRayTelIonPhysics::fDeuteronIonisation
protected

Definition at line 98 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4hMultipleScattering GammaRayTelIonPhysics::fDeuteronMultipleScattering
protected

Definition at line 97 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4DeuteronInelasticProcess GammaRayTelIonPhysics::fDeuteronProcess
protected

Definition at line 99 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4hIonisation GammaRayTelIonPhysics::fHe3Ionisation
protected

Definition at line 113 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4hMultipleScattering GammaRayTelIonPhysics::fHe3MultipleScattering
protected

Definition at line 112 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4hIonisation GammaRayTelIonPhysics::fIonIonisation
protected

Definition at line 94 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4hMultipleScattering GammaRayTelIonPhysics::fIonMultipleScattering
protected

Definition at line 93 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4hIonisation GammaRayTelIonPhysics::fTritonIonisation
protected

Definition at line 103 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4hMultipleScattering GammaRayTelIonPhysics::fTritonMultipleScattering
protected

Definition at line 102 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4TritonInelasticProcess GammaRayTelIonPhysics::fTritonProcess
protected

Definition at line 104 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4HadronElastic* GammaRayTelIonPhysics::theElasticModel
protected

Definition at line 90 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().

G4HadronElasticProcess GammaRayTelIonPhysics::theElasticProcess
protected

Definition at line 89 of file GammaRayTelIonPhysics.hh.

Referenced by ConstructProcess().


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