ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BrachyPhysicsList.cc
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file BrachyPhysicsList.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 //
26 /*
27 Author: Susanna Guatelli
28 */
29 //
30 // **********************************
31 // * *
32 // * BrachyPhysicsList.cc *
33 // * *
34 // **********************************
35 //
37 #include "G4EmLivermorePhysics.hh"
38 #include "G4EmStandardPhysics.hh"
43 #include "G4DecayPhysics.hh"
45 #include "G4EmPenelopePhysics.hh"
46 #include "BrachyPhysicsList.hh"
47 #include "G4VPhysicsConstructor.hh"
48 #include "G4ParticleDefinition.hh"
49 #include "G4ProductionCutsTable.hh"
50 #include "G4ProcessManager.hh"
51 #include "G4ParticleTypes.hh"
52 #include "G4ios.hh"
53 #include "G4StepLimiter.hh"
54 #include "G4ParticleDefinition.hh"
55 #include "globals.hh"
56 #include "G4SystemOfUnits.hh"
58 
60 {
61 SetVerboseLevel(1);
62 
63 // EM physics: default
65 fEmName="emlivermore";
66 
67 // Add Decay
71 }
72 
74 {
75 delete fMessenger;
76 delete fDecPhysicsList;
78 delete fEmPhysicsList;
79 }
80 
82 {
84 }
85 
87 {
90 
91 // decay physics list
94 }
95 
96 
98 {
99 
100  if (name == fEmName) return;
101 
102  if (name == "emstandard_opt0"){
103  fEmName = name;
104  delete fEmPhysicsList;
106  G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
107 
108  } else if (name == "emstandard_opt1"){
109  fEmName = name;
110  delete fEmPhysicsList;
112  G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
113  } else if (name == "emstandard_opt2"){
114  fEmName = name;
115  delete fEmPhysicsList;
117  G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
118  } else if (name == "emstandard_opt3"){
119  fEmName = name;
120  delete fEmPhysicsList;
122  G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
123  } else if (name == "emstandard_opt4"){
124  fEmName = name;
125  delete fEmPhysicsList;
127  G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
128  } else if (name == "empenelope"){
129  fEmName = name;
130  delete fEmPhysicsList;
132  G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
133  } else if (name == "emlivermore"){
134  fEmName = name;
135  delete fEmPhysicsList;
137  G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
138  } else {
139 
140  G4cout << "PhysicsList::AddPhysicsList: <" << name << ">"
141  << " is not defined"
142  << G4endl;
143  }
144  G4cout << "PhysicsList::AddPhysicsList: <" << name << ">"
145  << " is activated"
146  << G4endl;
147 }
148 
150 {
151 // Definition of threshold of production
152 // of secondary particles
153 // This is defined in range.
154 defaultCutValue = 0.05 * mm;
155 SetCutValue(defaultCutValue, "gamma");
158 
159 // By default the low energy limit to produce
160 // secondary particles is 990 eV.
161 // This value is correct when using the EM Standard Physics.
162 // When using the Low Energy Livermore this value can be
163 // changed to 250 eV corresponding to the limit
164 // of validity of the physics models.
165 // Comment out following three lines if the
166 // Standard electromagnetic Package is adopted.
167 G4double lowLimit = 250. * eV;
168 G4double highLimit = 100. * GeV;
169 
171  highLimit);
172 
173 // Print the cuts
175 }