#include <G4IonPhysics.hh>
Inheritance diagram for G4IonPhysics:
Public Member Functions | |
G4IonPhysics (G4int ver=0) | |
G4IonPhysics (const G4String &nname) | |
virtual | ~G4IonPhysics () |
void | ConstructParticle () |
void | ConstructProcess () |
Definition at line 52 of file G4IonPhysics.hh.
G4IonPhysics::G4IonPhysics | ( | G4int | ver = 0 |
) |
Definition at line 77 of file G4IonPhysics.cc.
References bIons, G4cout, G4endl, and G4VPhysicsConstructor::SetPhysicsType().
00078 : G4VPhysicsConstructor("ionInelasticFTFP_BIC"),verbose(ver), 00079 wasActivated(false) 00080 { 00081 // fTripathi = fTripathiLight = fShen = fIonH = 0; 00082 fGGNuclNucl=0; 00083 theIonBC = 0; 00084 theFTFP = 0; 00085 theBuilder = 0; 00086 SetPhysicsType(bIons); 00087 if(verbose > 1) { G4cout << "### G4IonPhysics" << G4endl; } 00088 }
G4IonPhysics::G4IonPhysics | ( | const G4String & | nname | ) |
Definition at line 92 of file G4IonPhysics.cc.
References bIons, G4cout, G4endl, and G4VPhysicsConstructor::SetPhysicsType().
00093 : G4VPhysicsConstructor(nname),verbose(1), 00094 wasActivated(false) 00095 { 00096 // fTripathi = fTripathiLight = fShen = fIonH = 0; 00097 fGGNuclNucl=0; 00098 theIonBC = 0; 00099 theFTFP = 0; 00100 theBuilder = 0; 00101 SetPhysicsType(bIons); 00102 if(verbose > 1) { G4cout << "### G4IonPhysics" << G4endl; } 00103 }
G4IonPhysics::~G4IonPhysics | ( | ) | [virtual] |
void G4IonPhysics::ConstructParticle | ( | ) | [virtual] |
Implements G4VPhysicsConstructor.
Definition at line 114 of file G4IonPhysics.cc.
References G4IonConstructor::ConstructParticle().
00115 { 00116 // Construct ions 00117 G4IonConstructor pConstructor; 00118 pConstructor.ConstructParticle(); 00119 }
void G4IonPhysics::ConstructProcess | ( | ) | [virtual] |
Implements G4VPhysicsConstructor.
Definition at line 123 of file G4IonPhysics.cc.
References G4Alpha::Alpha(), G4GGNuclNuclCrossSection::Default_Name(), G4Deuteron::Deuteron(), G4cout, G4endl, G4GenericIon::GenericIon(), G4CrossSectionDataSetRegistry::GetCrossSectionDataSet(), G4VHadronModelBuilder::GetModel(), G4He3::He3(), G4CrossSectionDataSetRegistry::Instance(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), and G4Triton::Triton().
00124 { 00125 if(wasActivated) { return; } 00126 wasActivated = true; 00127 00128 G4double emax = 100.*TeV; 00129 00130 G4ExcitationHandler* handler = new G4ExcitationHandler(); 00131 G4PreCompoundModel* thePreCompound = new G4PreCompoundModel(handler); 00132 00133 // Binary Cascade 00134 theIonBC = new G4BinaryLightIonReaction(thePreCompound); 00135 theIonBC->SetMinEnergy(0.0); 00136 theIonBC->SetMaxEnergy(4*GeV); 00137 00138 // FTFP 00139 theBuilder = new G4FTFBuilder("FTFP",thePreCompound); 00140 theFTFP = theBuilder->GetModel(); 00141 theFTFP->SetMinEnergy(2*GeV); 00142 theFTFP->SetMaxEnergy(emax); 00143 00144 //fShen = new G4IonsShenCrossSection(); 00145 //fTripathi = new G4TripathiCrossSection(); 00146 //fTripathiLight = new G4TripathiLightCrossSection(); 00147 //fIonH = new G4IonProtonCrossSection(); 00148 fGGNuclNucl = G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4GGNuclNuclCrossSection::Default_Name()); 00149 00150 AddProcess("dInelastic", G4Deuteron::Deuteron(),false); 00151 AddProcess("tInelastic",G4Triton::Triton(),false); 00152 AddProcess("He3Inelastic",G4He3::He3(),true); 00153 AddProcess("alphaInelastic", G4Alpha::Alpha(),true); 00154 AddProcess("ionInelastic",G4GenericIon::GenericIon(),true); 00155 00156 if(verbose > 1) { 00157 G4cout << "G4IonPhysics::ConstructProcess done! " 00158 << G4endl; 00159 } 00160 }