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 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
30 
31 #include "PhysicsList.hh"
32 #include "G4UnitsTable.hh"
33 #include "G4ParticleTypes.hh"
34 #include "G4IonConstructor.hh"
35 #include "G4PhysicsListHelper.hh"
36 #include "G4Radioactivation.hh"
37 #include "G4SystemOfUnits.hh"
38 #include "G4NuclideTable.hh"
39 #include "G4LossTableManager.hh"
40 #include "G4UAtomicDeexcitation.hh"
41 #include "G4NuclearLevelData.hh"
42 #include "G4DeexPrecoParameters.hh"
43 #include "G4NuclideTable.hh"
44 
45 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
46 
49 {
50  //add new units for radioActive decays
51  //
52  const G4double minute = 60*second;
53  const G4double hour = 60*minute;
54  const G4double day = 24*hour;
55  const G4double year = 365*day;
56  new G4UnitDefinition("minute", "min", "Time", minute);
57  new G4UnitDefinition("hour", "h", "Time", hour);
58  new G4UnitDefinition("day", "d", "Time", day);
59  new G4UnitDefinition("year", "y", "Time", year);
60 
61  // mandatory for G4NuclideTable
62  //
65 
66  //read new PhotonEvaporation data set
67  //
68  G4DeexPrecoParameters* deex =
70  deex->SetCorrelatedGamma(false);
71  deex->SetStoreAllLevels(true);
72  deex->SetMaxLifeTime(G4NuclideTable::GetInstance()->GetThresholdOfHalfLife()
73  /std::log(2.));
74 }
75 
76 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
77 
79 { }
80 
81 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
82 
84 {
85  // pseudo-particles
87 
88  // gamma
90 
91  // leptons
94 
97 
98  // baryons
101 
102  // ions
103  G4IonConstructor iConstructor;
104  iConstructor.ConstructParticle();
105 }
106 
107 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
108 
110 {
112 
113  G4Radioactivation* radioactiveDecay = new G4Radioactivation();
114 
115  G4bool ARMflag = false;
116  radioactiveDecay->SetARM(ARMflag); //Atomic Rearangement
117 
118  // need to initialize atomic deexcitation
119  //
121  G4VAtomDeexcitation* deex = man->AtomDeexcitation();
122  if (!deex) {
125  deex = new G4UAtomicDeexcitation();
127  man->SetAtomDeexcitation(deex);
128  }
129 
130  // register radioactiveDecay
131  //
133  ph->RegisterProcess(radioactiveDecay, G4GenericIon::GenericIon());
134 
135  //printout
136  //
137  G4cout << "\n Set atomic relaxation mode " << ARMflag << G4endl;
138 }
139 
140 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
141 
143 {
145 }
146 
147 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......