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 G4String & GetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 

Protected Attributes

G4HadronElasticProcess theElasticProcess
 
G4HadronElastic * theElasticModel
 
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
 
G4ParticleTable * theParticleTable
 
G4int g4vpcInstanceID
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManager & GetSubInstanceManager ()
 
- 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: