ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PhysicsList.cc
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PhysicsList.cc
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
28 //
29 
30 
31 #include "PhysicsList.hh"
32 
33 #include "G4SystemOfUnits.hh"
34 #include "G4UnitsTable.hh"
35 
36 #include "G4EmStandardPhysics.hh"
37 #include "G4EmExtraPhysics.hh"
38 #include "G4EmParameters.hh"
39 #include "G4DecayPhysics.hh"
40 #include "G4NuclideTable.hh"
41 #include "BiasedRDPhysics.hh"
44 #include "G4HadronInelasticQBBC.hh"
45 #include "G4HadronPhysicsINCLXX.hh"
46 #include "G4IonElasticPhysics.hh"
47 #include "G4IonPhysics.hh"
48 #include "G4IonINCLXXPhysics.hh"
49 
50 // particles
51 
52 #include "G4BosonConstructor.hh"
53 #include "G4LeptonConstructor.hh"
54 #include "G4MesonConstructor.hh"
55 #include "G4BosonConstructor.hh"
56 #include "G4BaryonConstructor.hh"
57 #include "G4IonConstructor.hh"
59 
60 
63 {
64  G4int verb = 1;
65  SetVerboseLevel(verb);
66 
67  //add new units for radioActive decays
68  //
69  new G4UnitDefinition( "millielectronVolt", "meV", "Energy", 1.e-3*eV);
70  //
71  const G4double minute = 60*second;
72  const G4double hour = 60*minute;
73  const G4double day = 24*hour;
74  const G4double year = 365*day;
75  new G4UnitDefinition("minute", "min", "Time", minute);
76  new G4UnitDefinition("hour", "h", "Time", hour);
77  new G4UnitDefinition("day", "d", "Time", day);
78  new G4UnitDefinition("year", "y", "Time", year);
79 
80  // Mandatory for G4NuclideTable
81  // Half-life threshold must be set small or many short-lived isomers
82  // will not be assigned life times (default to 0)
85 
86  // EM physics
89  param->SetAugerCascade(true);
90  param->SetStepFunction(1., 1*CLHEP::mm);
91  param->SetStepFunctionMuHad(1., 1*CLHEP::mm);
92 
93  // Decay
95 
96  // Radioactive decay
98 
99  // Hadron Elastic scattering
101 
102  // Hadron Inelastic physics
106 
107  // Ion Elastic scattering
109 
110  // Ion Inelastic physics
111  RegisterPhysics( new G4IonPhysics(verb));
113 
114  // Gamma-Nuclear Physics
115  G4EmExtraPhysics* gnuc = new G4EmExtraPhysics(verb);
116  gnuc->ElectroNuclear(false);
117  gnuc->MuonNuclear(false);
118  RegisterPhysics(gnuc);
119 }
120 
121 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
122 
124 { }
125 
126 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
127 
129 {
130  G4BosonConstructor pBosonConstructor;
131  pBosonConstructor.ConstructParticle();
132 
133  G4LeptonConstructor pLeptonConstructor;
134  pLeptonConstructor.ConstructParticle();
135 
136  G4MesonConstructor pMesonConstructor;
137  pMesonConstructor.ConstructParticle();
138 
139  G4BaryonConstructor pBaryonConstructor;
140  pBaryonConstructor.ConstructParticle();
141 
142  G4IonConstructor pIonConstructor;
143  pIonConstructor.ConstructParticle();
144 
145  G4ShortLivedConstructor pShortLivedConstructor;
146  pShortLivedConstructor.ConstructParticle();
147 }
148 
149 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
150 
152 {
153  SetCutValue(0*mm, "proton");
154  SetCutValue(10*km, "e-");
155  SetCutValue(10*km, "e+");
156  SetCutValue(10*km, "gamma");
157 }
158 
159 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......