<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.iac.isu.edu/index.php?action=history&amp;feed=atom&amp;title=Physics_List</id>
	<title>Physics List - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.iac.isu.edu/index.php?action=history&amp;feed=atom&amp;title=Physics_List"/>
	<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Physics_List&amp;action=history"/>
	<updated>2026-05-09T19:40:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Physics_List&amp;diff=48383&amp;oldid=prev</id>
		<title>Oborn: Blanked the page</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Physics_List&amp;diff=48383&amp;oldid=prev"/>
		<updated>2010-01-10T03:54:49Z</updated>

		<summary type="html">&lt;p&gt;Blanked the page&lt;/p&gt;
&lt;a href=&quot;https://wiki.iac.isu.edu/index.php?title=Physics_List&amp;amp;diff=48383&amp;amp;oldid=48382&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Oborn</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Physics_List&amp;diff=48382&amp;oldid=prev</id>
		<title>Oborn: Created page with '// // ******************************************************************** // * DISCLAIMER                                                       * // *                           ...'</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Physics_List&amp;diff=48382&amp;oldid=prev"/>
		<updated>2010-01-10T03:54:25Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;// // ******************************************************************** // * DISCLAIMER                                                       * // *                           ...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;//&lt;br /&gt;
// ********************************************************************&lt;br /&gt;
// * DISCLAIMER                                                       *&lt;br /&gt;
// *                                                                  *&lt;br /&gt;
// * The following disclaimer summarizes all the specific disclaimers *&lt;br /&gt;
// * of contributors to this software. The specific disclaimers,which *&lt;br /&gt;
// * govern, are listed with their locations in:                      *&lt;br /&gt;
// *   http://cern.ch/geant4/license                                  *&lt;br /&gt;
// *                                                                  *&lt;br /&gt;
// * Neither the authors of this software system, nor their employing *&lt;br /&gt;
// * institutes,nor the agencies providing financial support for this *&lt;br /&gt;
// * work  make  any representation or  warranty, express or implied, *&lt;br /&gt;
// * regarding  this  software system or assume any liability for its *&lt;br /&gt;
// * use.                                                             *&lt;br /&gt;
// *                                                                  *&lt;br /&gt;
// * This  code  implementation is the  intellectual property  of the *&lt;br /&gt;
// * GEANT4 collaboration.                                            *&lt;br /&gt;
// * By copying,  distributing  or modifying the Program (or any work *&lt;br /&gt;
// * based  on  the Program)  you indicate  your  acceptance of  this *&lt;br /&gt;
// * statement, and all its terms.                                    *&lt;br /&gt;
// ********************************************************************&lt;br /&gt;
//&lt;br /&gt;
//&lt;br /&gt;
// $Id: BetheBlochPhysicsList.cc,v 1.21 2005/05/30 16:20:23 maire Exp $&lt;br /&gt;
// GEANT4 tag $Name: geant4-08-00-patch-01 $&lt;br /&gt;
//&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;globals.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;BetheBlochPhysicsList.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4ProcessManager.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4ParticleTypes.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4IonConstructor.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
BetheBlochPhysicsList::BetheBlochPhysicsList():  G4VUserPhysicsList()&lt;br /&gt;
{&lt;br /&gt;
  defaultCutValue = 1.0*cm;&lt;br /&gt;
   SetVerboseLevel(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
BetheBlochPhysicsList::~BetheBlochPhysicsList()&lt;br /&gt;
{}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
void BetheBlochPhysicsList::ConstructParticle()&lt;br /&gt;
{&lt;br /&gt;
  // In this method, static member functions should be called&lt;br /&gt;
  // for all particles which you want to use.&lt;br /&gt;
  // This ensures that objects of these particle types will be&lt;br /&gt;
  // created in the program. &lt;br /&gt;
&lt;br /&gt;
  ConstructBosons();&lt;br /&gt;
  ConstructLeptons();&lt;br /&gt;
  ConstructMesons();&lt;br /&gt;
  ConstructBaryons();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
void BetheBlochPhysicsList::ConstructBosons()&lt;br /&gt;
{&lt;br /&gt;
  // pseudo-particles&lt;br /&gt;
  G4Geantino::GeantinoDefinition();&lt;br /&gt;
  G4ChargedGeantino::ChargedGeantinoDefinition();&lt;br /&gt;
&lt;br /&gt;
  // gamma&lt;br /&gt;
  G4Gamma::GammaDefinition();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
void BetheBlochPhysicsList::ConstructLeptons()&lt;br /&gt;
{&lt;br /&gt;
  // leptons&lt;br /&gt;
  //  e+/-&lt;br /&gt;
  G4Electron::ElectronDefinition();&lt;br /&gt;
  G4Positron::PositronDefinition();&lt;br /&gt;
  // mu+/-&lt;br /&gt;
  G4MuonPlus::MuonPlusDefinition();&lt;br /&gt;
  G4MuonMinus::MuonMinusDefinition();&lt;br /&gt;
  // nu_e&lt;br /&gt;
  G4NeutrinoE::NeutrinoEDefinition();&lt;br /&gt;
  G4AntiNeutrinoE::AntiNeutrinoEDefinition();&lt;br /&gt;
  // nu_mu&lt;br /&gt;
  G4NeutrinoMu::NeutrinoMuDefinition();&lt;br /&gt;
  G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
void BetheBlochPhysicsList::ConstructMesons()&lt;br /&gt;
{&lt;br /&gt;
  //  mesons&lt;br /&gt;
  //    light mesons&lt;br /&gt;
  G4PionPlus::PionPlusDefinition();&lt;br /&gt;
  G4PionMinus::PionMinusDefinition();&lt;br /&gt;
  G4PionZero::PionZeroDefinition();&lt;br /&gt;
  G4Eta::EtaDefinition();&lt;br /&gt;
  G4EtaPrime::EtaPrimeDefinition();&lt;br /&gt;
  G4KaonPlus::KaonPlusDefinition();&lt;br /&gt;
  G4KaonMinus::KaonMinusDefinition();&lt;br /&gt;
  G4KaonZero::KaonZeroDefinition();&lt;br /&gt;
  G4AntiKaonZero::AntiKaonZeroDefinition();&lt;br /&gt;
  G4KaonZeroLong::KaonZeroLongDefinition();&lt;br /&gt;
  G4KaonZeroShort::KaonZeroShortDefinition();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
void BetheBlochPhysicsList::ConstructBaryons()&lt;br /&gt;
{&lt;br /&gt;
  //  barions&lt;br /&gt;
  G4Proton::ProtonDefinition();&lt;br /&gt;
  G4AntiProton::AntiProtonDefinition();&lt;br /&gt;
&lt;br /&gt;
  G4Neutron::NeutronDefinition();&lt;br /&gt;
  G4AntiNeutron::AntiNeutronDefinition();&lt;br /&gt;
&lt;br /&gt;
  G4IonConstructor ion;&lt;br /&gt;
  ion.ConstructParticle();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
void BetheBlochPhysicsList::ConstructProcess()&lt;br /&gt;
{&lt;br /&gt;
  AddTransportation();&lt;br /&gt;
  ConstructEM(); &lt;br /&gt;
  //ConstructPN();&lt;br /&gt;
  ConstructGeneral();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4ComptonScattering.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4GammaConversion.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4PhotoElectricEffect.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4MultipleScattering.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4eIonisation.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4eBremsstrahlung.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4eplusAnnihilation.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4MuIonisation.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4MuBremsstrahlung.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4MuPairProduction.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4hIonisation.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//#include &amp;quot;G4PenelopeIonisation.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//#include &amp;quot;G4ionIonisation.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//#include &amp;quot;G4StepLimiter.hh&amp;quot;&lt;br /&gt;
//#include &amp;quot;G4UserSpecialCuts.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// this include file defindes the class  G4HadronElasticProcess&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4NeutronHPorLElastic.hh&amp;quot;&lt;br /&gt;
//#include &amp;quot;G4NeutronHPElastic.hh&amp;quot;&lt;br /&gt;
//#include &amp;quot;G4LElastic.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// hadron elastic scattering processes&lt;br /&gt;
//#include &amp;quot;G4ElasticHadrNucleusHE.hh&amp;quot;  /* for high energy elestic scattering */&lt;br /&gt;
//#include &amp;quot;G4LElastic.hh&amp;quot;&lt;br /&gt;
//#include &amp;quot;G4NeutronHPElastic.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4GammaNuclearReaction.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4PhotoNuclearProcess.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4StepLimiter.hh&amp;quot;&lt;br /&gt;
#include &amp;quot;G4UserSpecialCuts.hh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;G4PhotoNuclearCrossSection.hh&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
void BetheBlochPhysicsList::ConstructEM()&lt;br /&gt;
{&lt;br /&gt;
  theParticleIterator-&amp;gt;reset();&lt;br /&gt;
  while( (*theParticleIterator)() ){&lt;br /&gt;
    G4ParticleDefinition* particle = theParticleIterator-&amp;gt;value();&lt;br /&gt;
    G4ProcessManager* pmanager = particle-&amp;gt;GetProcessManager();&lt;br /&gt;
    G4String particleName = particle-&amp;gt;GetParticleName();&lt;br /&gt;
&lt;br /&gt;
    //G4GammaNuclearReaction* gammaNuclear = new G4GammaNuclearReaction();&lt;br /&gt;
    //G4PhotoNuclearProcess* photoNuclearProcess = new G4PhotoNuclearProcess();&lt;br /&gt;
     &lt;br /&gt;
    if (particleName == &amp;quot;gamma&amp;quot;) {&lt;br /&gt;
      // gamma         &lt;br /&gt;
      pmanager-&amp;gt;AddDiscreteProcess(new G4PhotoElectricEffect);&lt;br /&gt;
      //pmanager-&amp;gt;AddDiscreteProcess(new G4LowEnergyPhotoElectric);&lt;br /&gt;
      pmanager-&amp;gt;AddDiscreteProcess(new G4ComptonScattering);&lt;br /&gt;
      //pmanager-&amp;gt;AddDiscreteProcess(new G4LowEnergyCompton);&lt;br /&gt;
      pmanager-&amp;gt;AddDiscreteProcess(new G4GammaConversion);&lt;br /&gt;
      //pmanager-&amp;gt;AddDiscreteProcess(new G4LowEnergyGammaConversion);&lt;br /&gt;
      //pmanager-&amp;gt;AddDiscrete(new G4PenelopeIonisation);&lt;br /&gt;
      //pmanager-&amp;gt;AddDiscrete(new G4LowEnergyRayleigh());&lt;br /&gt;
&lt;br /&gt;
  //00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00&lt;br /&gt;
 &lt;br /&gt;
  G4GammaNuclearReaction* gammaNuclear = new G4GammaNuclearReaction();&lt;br /&gt;
  G4PhotoNuclearProcess* photoNuclearProcess = new G4PhotoNuclearProcess();&lt;br /&gt;
  photoNuclearProcess-&amp;gt;RegisterMe(gammaNuclear);&lt;br /&gt;
  pmanager-&amp;gt;AddDiscreteProcess(photoNuclearProcess);&lt;br /&gt;
  &lt;br /&gt;
  //00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
    } else if (particleName == &amp;quot;e-&amp;quot;) {&lt;br /&gt;
      //electron&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4MultipleScattering,-1, 1,1);&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4eIonisation,       -1, 2,2);&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4eBremsstrahlung,   -1, 3,3);      &lt;br /&gt;
&lt;br /&gt;
    } else if (particleName == &amp;quot;proton&amp;quot;) {&lt;br /&gt;
      //proton&lt;br /&gt;
&lt;br /&gt;
      //AddProcess(process name, proccess when at rest, continuous proces flag, discrete process flag);&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4hIonisation,       -1, 1,1);&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4MultipleScattering,-1, 1,1);&lt;br /&gt;
      //      G4ionIonisation* iIon= new G4ionIonisation();&lt;br /&gt;
      //      pmanager-&amp;gt;AddProcess(iIon,-1, 1,2);&lt;br /&gt;
      //step limit&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4StepLimiter,       -1,-1,3);         &lt;br /&gt;
&lt;br /&gt;
    } else if (particleName == &amp;quot;e+&amp;quot;) {&lt;br /&gt;
      //positron&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4MultipleScattering,-1, 1,1);&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4eIonisation,       -1, 2,2);&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4eBremsstrahlung,   -1, 3,3);&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4eplusAnnihilation,  0,-1,4);&lt;br /&gt;
&lt;br /&gt;
    } else if( particleName == &amp;quot;mu+&amp;quot; || &lt;br /&gt;
               particleName == &amp;quot;mu-&amp;quot;    ) {&lt;br /&gt;
      //muon  &lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4MultipleScattering,-1, 1,1);&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4MuIonisation,      -1, 2,2);&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4MuBremsstrahlung,  -1, 3,3);&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4MuPairProduction,  -1, 4,4); &lt;br /&gt;
&lt;br /&gt;
      //00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00&lt;br /&gt;
     &lt;br /&gt;
   } else if (particleName == &amp;quot;neutron&amp;quot;) {&lt;br /&gt;
      //neutron&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      // available neutron elastic scattering models&lt;br /&gt;
&lt;br /&gt;
      //G4LElastic* elasticModel = new G4LElastic();&lt;br /&gt;
      //G4NeutronHPElastic* elasticModel = new G4NeutronHPElastic();&lt;br /&gt;
      G4NeutronHPorLElastic* elasticModel = new G4NeutronHPorLElastic();&lt;br /&gt;
      // define process to handle elastic scattering&lt;br /&gt;
      G4HadronElasticProcess* hadElastProc = new G4HadronElasticProcess();&lt;br /&gt;
      // register the model you are using for eleastic scatterin&lt;br /&gt;
      hadElastProc-&amp;gt;RegisterMe(elasticModel);&lt;br /&gt;
      // add the elastic scattering process to the process manager&lt;br /&gt;
&lt;br /&gt;
      pmanager-&amp;gt;AddDiscreteProcess(hadElastProc);&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4StepLimiter,       -1,-1,3);         &lt;br /&gt;
     //00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00//00     &lt;br /&gt;
     &lt;br /&gt;
    } else if ((!particle-&amp;gt;IsShortLived()) &amp;amp;&amp;amp;&lt;br /&gt;
	       (particle-&amp;gt;GetPDGCharge() != 0.0) &amp;amp;&amp;amp; &lt;br /&gt;
	       (particle-&amp;gt;GetParticleName() != &amp;quot;chargedgeantino&amp;quot;)) {&lt;br /&gt;
      //all others charged particles except geantino&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4MultipleScattering,-1, 1,1);&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4hIonisation,       -1, 2,2);&lt;br /&gt;
      //step limit&lt;br /&gt;
      pmanager-&amp;gt;AddProcess(new G4StepLimiter,       -1,-1,3);         &lt;br /&gt;
      ///pmanager-&amp;gt;AddProcess(new G4UserSpecialCuts,   -1,-1,4);  &lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;G4Decay.hh&amp;quot;&lt;br /&gt;
void BetheBlochPhysicsList::ConstructGeneral()&lt;br /&gt;
{&lt;br /&gt;
  // Add Decay Process&lt;br /&gt;
  G4Decay* theDecayProcess = new G4Decay();&lt;br /&gt;
  theParticleIterator-&amp;gt;reset();&lt;br /&gt;
  while( (*theParticleIterator)() ){&lt;br /&gt;
    G4ParticleDefinition* particle = theParticleIterator-&amp;gt;value();&lt;br /&gt;
    G4ProcessManager* pmanager = particle-&amp;gt;GetProcessManager();&lt;br /&gt;
    if (theDecayProcess-&amp;gt;IsApplicable(*particle)) { &lt;br /&gt;
      pmanager -&amp;gt;AddProcess(theDecayProcess);&lt;br /&gt;
      // set ordering for PostStepDoIt and AtRestDoIt&lt;br /&gt;
      pmanager -&amp;gt;SetProcessOrdering(theDecayProcess, idxPostStep);&lt;br /&gt;
      pmanager -&amp;gt;SetProcessOrdering(theDecayProcess, idxAtRest);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;br /&gt;
&lt;br /&gt;
void BetheBlochPhysicsList::SetCuts()&lt;br /&gt;
{&lt;br /&gt;
  //G4VUserPhysicsList::SetCutsWithDefault method sets &lt;br /&gt;
  //the default cut value for all particle types &lt;br /&gt;
  //&lt;br /&gt;
  SetCutsWithDefault();&lt;br /&gt;
     &lt;br /&gt;
  if (verboseLevel&amp;gt;0) DumpCutValuesTable();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......&lt;/div&gt;</summary>
		<author><name>Oborn</name></author>
	</entry>
</feed>