80 G4cout <<
"You are using the simulation engine: LBE"<<
G4endl;
221 myParticleIterator->
reset();
222 while( (*(myParticleIterator))() ){
227 if(particleName ==
"neutron")
294 myParticleIterator->
reset();
295 while( (*(myParticleIterator))() ){
302 if (particleName ==
"gamma")
308 thePhotoElectricEffect->
AddEmModel(0, theLivermorePhotoElectricModel);
315 theComptonScattering->
AddEmModel(0, theLivermoreComptonModel);
322 theGammaConversion->
AddEmModel(0, theLivermoreGammaConversionModel);
332 else if (particleName ==
"e-")
359 else if (particleName ==
"e+")
372 else if( particleName ==
"mu+" ||
373 particleName ==
"mu-" )
377 pmanager->
AddProcess(aMultipleScattering, -1, 1, 1);
381 if( particleName ==
"mu-" )
384 else if (particleName ==
"GenericIon")
393 else if (particleName ==
"alpha" || particleName ==
"He3")
403 else if (particleName ==
"proton" ||
404 particleName ==
"deuteron" ||
405 particleName ==
"triton" ||
406 particleName ==
"pi+" ||
407 particleName ==
"pi-" ||
408 particleName ==
"kaon+" ||
409 particleName ==
"kaon-")
441 G4bool theScintProcessDefNeverUsed =
true;
450 G4bool theScintProcessAlphaNeverUsed =
true;
459 G4bool theScintProcessNucNeverUsed =
true;
468 G4bool theAbsorptionProcessNeverUsed =
true;
471 G4bool theBoundaryProcessNeverUsed =
true;
480 myParticleIterator->
reset();
481 while( (*(myParticleIterator))() )
492 theScintProcessNucNeverUsed =
false;
498 theScintProcessAlphaNeverUsed =
false;
504 theScintProcessDefNeverUsed =
false;
508 if (particleName ==
"opticalphoton") {
510 theAbsorptionProcessNeverUsed =
false;
512 theBoundaryProcessNeverUsed =
false;
516 if ( theScintProcessDefNeverUsed )
delete theScintProcessDef;
517 if ( theScintProcessAlphaNeverUsed )
delete theScintProcessAlpha;
518 if ( theScintProcessNucNeverUsed )
delete theScintProcessNuc;
519 if ( theBoundaryProcessNeverUsed )
delete theBoundaryProcess;
520 if ( theAbsorptionProcessNeverUsed )
delete theAbsorptionProcess;
608 elastic_lhep2->SetMaxEnergy( elastic_elimitAntiNuc );
659 myParticleIterator->
reset();
660 while ((*(myParticleIterator))())
666 if (particleName ==
"pi+")
676 theInelasticProcess->
RegisterMe( theFTFModel1 );
677 theInelasticProcess->
RegisterMe( theBERTModel0 );
681 else if (particleName ==
"pi-")
691 theInelasticProcess->
RegisterMe( theFTFModel1 );
692 theInelasticProcess->
RegisterMe( theBERTModel0 );
696 else if (particleName ==
"kaon+")
700 theElasticProcess->
RegisterMe( elastic_lhep0 );
706 theInelasticProcess->
RegisterMe( theFTFModel1 );
707 theInelasticProcess->
RegisterMe( theBERTModel0 );
711 else if (particleName ==
"kaon0S")
715 theElasticProcess->
RegisterMe( elastic_lhep0 );
721 theInelasticProcess->
RegisterMe( theFTFModel1 );
722 theInelasticProcess->
RegisterMe( theBERTModel0 );
726 else if (particleName ==
"kaon0L")
730 theElasticProcess->
RegisterMe( elastic_lhep0 );
736 theInelasticProcess->
RegisterMe( theFTFModel1 );
737 theInelasticProcess->
RegisterMe( theBERTModel0 );
741 else if (particleName ==
"kaon-")
745 theElasticProcess->
RegisterMe( elastic_lhep0 );
751 theInelasticProcess->
RegisterMe( theFTFModel1 );
752 theInelasticProcess->
RegisterMe( theBERTModel0 );
756 else if (particleName ==
"proton")
762 theElasticProcess->
RegisterMe( elastic_chip );
767 theInelasticProcess->
RegisterMe( theFTFModel1 );
768 theInelasticProcess->
RegisterMe( theBERTModel0 );
772 else if (particleName ==
"anti_proton")
776 theElasticProcess->
AddDataSet( elastic_anucxs );
777 theElasticProcess->
RegisterMe( elastic_lhep2 );
778 theElasticProcess->
RegisterMe( elastic_anuc );
782 theInelasticProcess->
AddDataSet( theAntiNucleonData );
783 theInelasticProcess->
RegisterMe( theFTFModel0 );
787 else if (particleName ==
"neutron") {
793 theElasticProcess->
RegisterMe( elastic_neutronChipsModel );
797 theElasticProcess->
RegisterMe( theElasticNeutronHP );
803 theInelasticProcess->
RegisterMe( theFTFModel1 );
804 theInelasticProcess->
RegisterMe( theBERTModel1 );
808 theInelasticProcess->
RegisterMe( theNeutronInelasticHPModel );
818 theCaptureProcess->
RegisterMe( theNeutronCaptureHPModel );
819 theCaptureProcess->
RegisterMe( theNeutronRadCapture);
824 else if (particleName ==
"anti_neutron")
828 theElasticProcess->
AddDataSet( elastic_anucxs );
829 theElasticProcess->
RegisterMe( elastic_lhep2 );
830 theElasticProcess->
RegisterMe( elastic_anuc );
834 theInelasticProcess->
AddDataSet( theAntiNucleonData );
835 theInelasticProcess->
RegisterMe( theFTFModel0 );
839 else if (particleName ==
"deuteron")
843 theElasticProcess->
RegisterMe( elastic_lhep0 );
844 theElasticProcess->
AddDataSet( theGGNuclNuclData );
848 theInelasticProcess->
AddDataSet( theGGNuclNuclData );
849 theInelasticProcess->
RegisterMe( theFTFModel1 );
854 else if (particleName ==
"triton")
858 theElasticProcess->
RegisterMe( elastic_lhep0 );
859 theElasticProcess->
AddDataSet( theGGNuclNuclData );
863 theInelasticProcess->
AddDataSet( theGGNuclNuclData );
864 theInelasticProcess->
RegisterMe( theFTFModel1 );
869 else if (particleName ==
"alpha")
873 theElasticProcess->
RegisterMe( elastic_lhep0 );
874 theElasticProcess->
AddDataSet( theGGNuclNuclData );
878 theInelasticProcess->
AddDataSet( theGGNuclNuclData );
879 theInelasticProcess->
RegisterMe( theFTFModel1 );
905 G4bool theDecayProcessNeverUsed =
true;
907 myParticleIterator->
reset();
908 while( (*(myParticleIterator))() )
915 theDecayProcessNeverUsed =
false;
931 param->
AddPhysics(
"world",
"G4RadioactiveDecay");
951 if (particleName ==
"GenericIon")
963 if ( theDecayProcessNeverUsed )
delete theDecayProcess;
971 G4cout <<
"LBE::SetCuts:";
974 G4cout <<
"LBE::SetCuts:";