 |
ATLAS Offline Software
|
|
def | load_files_for_monopole_scenario (MASS, GCHARGE) |
|
def | load_files_for_qball_scenario (MASS, CHARGE) |
|
def | load_files_for_fcp_scenario (MASS, CHARGE, X, Y) |
|
def | load_files_for_dyon_scenario (MASS, CHARGE, GCHARGE) |
|
def | MonopolePhysicsToolCfg (flags, name="MonopolePhysicsTool", **kwargs) |
|
def | G4mplEqMagElectricFieldToolCfg (flags, name="G4mplEqMagElectricField", **kwargs) |
|
def | fcpPreInclude (flags) |
|
def | fcpCfg (flags) |
|
def | QballPreInclude (flags) |
|
def | QballCfg (flags) |
|
def | DyonPreInclude (flags) |
|
def | DyonCfg (flags) |
|
def | MonopolePreInclude (flags) |
|
def | MonopoleCfg (flags) |
|
def | Monopole_VerboseSelectorCfg (flags, name="G4UA::VerboseSelectorTool", **kwargs) |
|
◆ DyonCfg()
def MonopoleConfig.DyonCfg |
( |
|
flags | ) |
|
Definition at line 261 of file MonopoleConfig.py.
263 if flags.Common.ProductionStep == ProductionStep.Simulation:
264 from G4AtlasServices.G4AtlasServicesConfig
import PhysicsListSvcCfg
267 simdict = flags.Input.SpecialConfiguration
268 assert "MASS" in simdict
269 assert "CHARGE" in simdict
270 assert "GCHARGE" in simdict
272 pdgcodes = eval(simdict[
'InteractingPDGCodes'])
if 'InteractingPDGCodes' in simdict
else []
273 from ExtraParticles.PDGHelpers
import updateExtraParticleAcceptList
276 if flags.Common.ProductionStep == ProductionStep.Simulation:
277 from GaudiKernel.GaudiHandles
import PrivateToolHandleArray
279 result.getService(
"PhysicsListSvc").PhysOption = physicsOptions + result.getService(
"PhysicsListSvc").PhysOption
◆ DyonPreInclude()
def MonopoleConfig.DyonPreInclude |
( |
|
flags | ) |
|
Definition at line 243 of file MonopoleConfig.py.
244 if flags.Common.ProductionStep == ProductionStep.Simulation:
246 flags.Sim.OptionalUserActionList += [
'G4UserActions.G4UserActionsConfig.MonopoleLooperKillerToolCfg']
248 flags.Sim.OptionalUserActionList += [
'G4UserActions.G4UserActionsConfig.HIPKillerToolCfg']
249 flags.Sim.G4Stepper =
'ClassicalRK4'
250 flags.Sim.G4EquationOfMotion =
"G4mplEqMagElectricField"
251 flags.Sim.TightMuonStepping =
False
252 simdict = flags.Input.SpecialConfiguration
253 if "InteractingPDGCodes" not in simdict:
254 assert "CHARGE" in simdict
255 CODE=4110000+
int(
float(simdict[
"CHARGE"])*10)
256 CODE2=4120000+
int(
float(simdict[
"CHARGE"])*10)
257 simdict[
'InteractingPDGCodes'] =
str([CODE,-1*CODE,CODE2,-1*CODE2])
258 flags.Input.SpecialConfiguration = simdict
◆ fcpCfg()
def MonopoleConfig.fcpCfg |
( |
|
flags | ) |
|
Definition at line 181 of file MonopoleConfig.py.
183 if flags.Common.ProductionStep == ProductionStep.Simulation:
184 from G4AtlasServices.G4AtlasServicesConfig
import PhysicsListSvcCfg
187 simdict = flags.Input.SpecialConfiguration
189 pdgcodes = eval(simdict[
'InteractingPDGCodes'])
if 'InteractingPDGCodes' in simdict
else []
190 from ExtraParticles.PDGHelpers
import updateExtraParticleAcceptList
193 if flags.Common.ProductionStep == ProductionStep.Simulation:
195 result.getService(
"PhysicsListSvc").PhysOption += physicsOptions
◆ fcpPreInclude()
def MonopoleConfig.fcpPreInclude |
( |
|
flags | ) |
|
Definition at line 165 of file MonopoleConfig.py.
166 simdict = flags.Input.SpecialConfiguration
167 if flags.Common.ProductionStep == ProductionStep.Simulation:
169 flags.Sim.OptionalUserActionList += [
'G4UserActions.G4UserActionsConfig.MonopoleLooperKillerToolCfg']
171 flags.Sim.OptionalUserActionList += [
'G4UserActions.G4UserActionsConfig.HIPKillerToolCfg']
172 if "InteractingPDGCodes" not in simdict:
173 assert "CHARGE" in simdict
174 assert "X" in simdict
175 assert "Y" in simdict
176 CODE=
int(20000000)+
int(simdict[
"X"])*1000+
int(simdict[
"Y"])*10
177 simdict[
'InteractingPDGCodes'] =
str([CODE,-1*CODE])
178 flags.Input.SpecialConfiguration = simdict
◆ G4mplEqMagElectricFieldToolCfg()
def MonopoleConfig.G4mplEqMagElectricFieldToolCfg |
( |
|
flags, |
|
|
|
name = "G4mplEqMagElectricField" , |
|
|
** |
kwargs |
|
) |
| |
Definition at line 159 of file MonopoleConfig.py.
161 result.setPrivateTools( CompFactory.G4mplEqMagElectricFieldTool(name, **kwargs) )
◆ load_files_for_dyon_scenario()
def MonopoleConfig.load_files_for_dyon_scenario |
( |
|
MASS, |
|
|
|
CHARGE, |
|
|
|
GCHARGE |
|
) |
| |
Definition at line 104 of file MonopoleConfig.py.
105 CODE=4110000+
int(CHARGE)*10
106 CODE2=4120000+
int(CHARGE)*10
108 ALINE1=
"M {code} {intmass}.E+03 +0.0E+00 -0.0E+00 DyonSS 0".
format(code=CODE,intmass=
int(MASS))
109 ALINE2=
"W {code} 0.E+00 +0.0E+00 -0.0E+00 DyonSS 0".
format(code=CODE)
110 ALINE3=
"M {code2} {intmass}.E+03 +0.0E+00 -0.0E+00 DyonOS 0".
format(code2=CODE2,intmass=
int(MASS))
111 ALINE4=
"W {code2} 0.E+00 +0.0E+00 -0.0E+00 DyonOS 0".
format(code2=CODE2)
114 BLINE1=
"{code} {intmass}.00 {fcharge} {gcharge} # DyonSS".
format(code=CODE, intmass=
int(MASS), fcharge=
float(CHARGE), gcharge=GCHARGE)
115 BLINE2=
"-{code} {intmass}.00 -{fcharge} -{gcharge} # DyonSSBar".
format(code=CODE, intmass=
int(MASS), fcharge=
float(CHARGE), gcharge=GCHARGE)
116 BLINE3=
"{code2} {intmass}.00 -{fcharge} {gcharge} # DyonOS".
format(code2=CODE2, intmass=
int(MASS), fcharge=
float(CHARGE), gcharge=GCHARGE)
117 BLINE4=
"-{code2} {intmass}.00 {fcharge} -{gcharge} # DyonOSBar".
format(code2=CODE2, intmass=
int(MASS), fcharge=
float(CHARGE), gcharge=GCHARGE)
119 f=
open(
'PDGTABLE.MeV',
'a')
120 f.writelines(
str(ALINE1))
122 f.writelines(
str(ALINE2))
124 f.writelines(
str(ALINE3))
126 f.writelines(
str(ALINE4))
129 partmod = os.path.isfile(
'particles.txt')
131 os.remove(
'particles.txt')
132 f=
open(
'particles.txt',
'w')
133 f.writelines(
str(BLINE1))
135 f.writelines(
str(BLINE2))
137 f.writelines(
str(BLINE3))
139 f.writelines(
str(BLINE4))
◆ load_files_for_fcp_scenario()
def MonopoleConfig.load_files_for_fcp_scenario |
( |
|
MASS, |
|
|
|
CHARGE, |
|
|
|
X, |
|
|
|
Y |
|
) |
| |
Definition at line 74 of file MonopoleConfig.py.
76 print(
"Trying to load %s, %s for particle with code %s" % (X, Y, CODE))
78 pdgLine1=
"M {code} {intmass}.E+03 +0.0E+00 -0.0E+00 fcp +\n".
format(code=CODE,intmass=
int(MASS))
79 pdgLine2=
"W {code} 0.E+00 +0.0E+00 -0.0E+00 fcp +\n".
format(code=CODE)
80 particleLine1=
"{code} {intmass}.00 {fcharge} 0.0 # fcp\n".
format(code=CODE,intmass=
int(MASS), fcharge=
float(CHARGE))
81 particleLine2=
"-{code} {intmass}.00 -{fcharge} 0.0 # fcpBar\n".
format(code=CODE,intmass=
int(MASS), fcharge=
float(CHARGE))
85 f=
open(
'PDGTABLE.MeV',
'a')
86 f.writelines(
str(pdgLine1))
87 f.writelines(
str(pdgLine2))
89 partmod = os.path.isfile(
'particles.txt')
91 os.remove(
'particles.txt')
92 f=
open(
'particles.txt',
'w')
93 f.writelines(
str(particleLine1))
94 f.writelines(
str(particleLine2))
◆ load_files_for_monopole_scenario()
def MonopoleConfig.load_files_for_monopole_scenario |
( |
|
MASS, |
|
|
|
GCHARGE |
|
) |
| |
Definition at line 12 of file MonopoleConfig.py.
14 ALINE1=
"M 4110000 {intmass}.E+03 +0.0E+00 -0.0E+00 Monopole 0".
format(intmass=
int(MASS))
15 ALINE2=
"W 4110000 0.E+00 +0.0E+00 -0.0E+00 Monopole 0"
16 BLINE1=
"4110000 {intmass}.00 0.0 {gcharge} # Monopole".
format(intmass=
int(MASS), gcharge=GCHARGE)
17 BLINE2=
"-4110000 {intmass}.00 0.0 -{gcharge} # MonopoleBar".
format(intmass=
int(MASS), gcharge=GCHARGE)
19 f=
open(
'PDGTABLE.MeV',
'a')
20 f.writelines(
str(ALINE1))
22 f.writelines(
str(ALINE2))
25 partmod = os.path.isfile(
'particles.txt')
27 os.remove(
'particles.txt')
28 f=
open(
'particles.txt',
'w')
29 f.writelines(
str(BLINE1))
31 f.writelines(
str(BLINE2))
◆ load_files_for_qball_scenario()
def MonopoleConfig.load_files_for_qball_scenario |
( |
|
MASS, |
|
|
|
CHARGE |
|
) |
| |
Definition at line 42 of file MonopoleConfig.py.
46 ALINE1=
"M {code} {intmass}.E+03 +0.0E+00 -0.0E+00 Qball +".
format(code=CODE,intmass=
int(MASS))
47 ALINE2=
"W {code} 0.E+00 +0.0E+00 -0.0E+00 Qball +".
format(code=CODE)
48 BLINE1=
"{code} {intmass}.00 {charge} 0.0 # Qball".
format(code=CODE,intmass=
int(MASS), charge=CHARGE)
49 BLINE2=
"-{code} {intmass}.00 -{charge} 0.0 # QballBar".
format(code=CODE,intmass=
int(MASS), charge=CHARGE)
51 f=
open(
'PDGTABLE.MeV',
'a')
52 f.writelines(
str(ALINE1))
54 f.writelines(
str(ALINE2))
57 partmod = os.path.isfile(
'particles.txt')
59 os.remove(
'particles.txt')
60 f=
open(
'particles.txt',
'w')
61 f.writelines(
str(BLINE1))
63 f.writelines(
str(BLINE2))
◆ Monopole_VerboseSelectorCfg()
def MonopoleConfig.Monopole_VerboseSelectorCfg |
( |
|
flags, |
|
|
|
name = "G4UA::VerboseSelectorTool" , |
|
|
** |
kwargs |
|
) |
| |
Definition at line 319 of file MonopoleConfig.py.
320 kwargs.setdefault(
'VerboseLevel',1)
321 kwargs.setdefault(
'TargetPdgIDs',
325 from G4DebuggingTools.G4DebuggingToolsConfig
import VerboseSelectorToolCfg
◆ MonopoleCfg()
def MonopoleConfig.MonopoleCfg |
( |
|
flags | ) |
|
Definition at line 298 of file MonopoleConfig.py.
300 if flags.Common.ProductionStep == ProductionStep.Simulation:
301 from G4AtlasServices.G4AtlasServicesConfig
import PhysicsListSvcCfg
304 simdict = flags.Input.SpecialConfiguration
305 assert "MASS" in simdict
306 assert "GCHARGE" in simdict
308 pdgcodes = eval(simdict[
'InteractingPDGCodes'])
if 'InteractingPDGCodes' in simdict
else []
309 from ExtraParticles.PDGHelpers
import updateExtraParticleAcceptList
312 if flags.Common.ProductionStep == ProductionStep.Simulation:
313 from GaudiKernel.GaudiHandles
import PrivateToolHandleArray
315 result.getService(
"PhysicsListSvc").PhysOption = physicsOptions + result.getService(
"PhysicsListSvc").PhysOption
◆ MonopolePhysicsToolCfg()
def MonopoleConfig.MonopolePhysicsToolCfg |
( |
|
flags, |
|
|
|
name = "MonopolePhysicsTool" , |
|
|
** |
kwargs |
|
) |
| |
Definition at line 153 of file MonopoleConfig.py.
155 result.setPrivateTools( CompFactory.MonopolePhysicsTool(name, **kwargs) )
◆ MonopolePreInclude()
def MonopoleConfig.MonopolePreInclude |
( |
|
flags | ) |
|
Definition at line 283 of file MonopoleConfig.py.
284 if flags.Common.ProductionStep == ProductionStep.Simulation:
286 flags.Sim.OptionalUserActionList += [
'G4UserActions.G4UserActionsConfig.MonopoleLooperKillerToolCfg']
288 flags.Sim.OptionalUserActionList += [
'G4UserActions.G4UserActionsConfig.HIPKillerToolCfg']
289 flags.Sim.G4Stepper =
'ClassicalRK4'
290 flags.Sim.G4EquationOfMotion =
"G4mplEqMagElectricField"
291 flags.Sim.TightMuonStepping =
False
292 simdict = flags.Input.SpecialConfiguration
293 if "InteractingPDGCodes" not in simdict:
294 simdict[
'InteractingPDGCodes'] =
str([4110000,-4110000])
295 flags.Input.SpecialConfiguration = simdict
◆ QballCfg()
def MonopoleConfig.QballCfg |
( |
|
flags | ) |
|
Definition at line 218 of file MonopoleConfig.py.
220 simdict = flags.Input.SpecialConfiguration
221 if flags.Common.ProductionStep == ProductionStep.Simulation:
222 from G4AtlasServices.G4AtlasServicesConfig
import PhysicsListSvcCfg
224 if "InteractingPDGCodes" not in simdict:
225 assert "CHARGE" in simdict
226 CODE=10000000+
int(
float(simdict[
"CHARGE"])*100)
227 simdict[
'InteractingPDGCodes'] =
str([CODE,-1*CODE])
229 assert "MASS" in simdict
230 assert "CHARGE" in simdict
232 pdgcodes = eval(simdict[
'InteractingPDGCodes'])
if 'InteractingPDGCodes' in simdict
else []
233 from ExtraParticles.PDGHelpers
import updateExtraParticleAcceptList
236 if flags.Common.ProductionStep == ProductionStep.Simulation:
238 result.getService(
"PhysicsListSvc").PhysOption += physicsOptions
◆ QballPreInclude()
def MonopoleConfig.QballPreInclude |
( |
|
flags | ) |
|
Definition at line 204 of file MonopoleConfig.py.
205 simdict = flags.Input.SpecialConfiguration
206 if flags.Common.ProductionStep == ProductionStep.Simulation:
208 flags.Sim.OptionalUserActionList += [
'G4UserActions.G4UserActionsConfig.MonopoleLooperKillerToolCfg']
210 flags.Sim.OptionalUserActionList += [
'G4UserActions.G4UserActionsConfig.HIPKillerToolCfg']
211 if "InteractingPDGCodes" not in simdict:
212 assert "CHARGE" in simdict
213 CODE=10000000+
int(
float(simdict[
"CHARGE"])*100)
214 simdict[
'InteractingPDGCodes'] =
str([CODE,-1*CODE])
215 flags.Input.SpecialConfiguration = simdict
def updateExtraParticleAcceptList(listName='G4particle_acceptlist_ExtraParticles.txt', pdgcodes=[])
def DyonPreInclude(flags)
def MonopolePreInclude(flags)
def G4mplEqMagElectricFieldToolCfg(flags, name="G4mplEqMagElectricField", **kwargs)
def QballPreInclude(flags)
def load_files_for_dyon_scenario(MASS, CHARGE, GCHARGE)
def load_files_for_monopole_scenario(MASS, GCHARGE)
void print(char *figname, TCanvas *c1)
def MonopolePhysicsToolCfg(flags, name="MonopolePhysicsTool", **kwargs)
def PhysicsListSvcCfg(flags, name="PhysicsListSvc", **kwargs)
def load_files_for_qball_scenario(MASS, CHARGE)
def Monopole_VerboseSelectorCfg(flags, name="G4UA::VerboseSelectorTool", **kwargs)
def load_files_for_fcp_scenario(MASS, CHARGE, X, Y)