1from __future__
import print_function
7ROOT.gROOT.LoadMacro(
"$VMCWORKDIR/gconfig/basiclibs.C")
15atexit.register(pyExit)
19targetHadronAbsorber = 350
20decayVolumeLength = 5000
22tag = simEngine+
"-"+mcEngine
23outFile =
"ship."+tag+
".root"
24os.system(
"rm *."+tag+
".root")
26parFile=
"ship.params."+tag+
".root"
32timer = ROOT.TStopwatch()
37run = ROOT.FairRunSim()
39run.SetOutputFile(outFile)
40rtdb = run.GetRuntimeDb()
44run.SetMaterials(
"media.geo")
49cave= ROOT.ShipCave(
"CAVE")
50cave.SetGeometryFileName(
"cave.geo")
53TargetStation = ROOT.ShipTargetStation(
"TargetStation",muShieldLength)
54run.AddModule(TargetStation)
55MuonShield = ROOT.ShipMuonShield(
"MuonShield",1)
56run.AddModule(MuonShield)
58magnet = ROOT.ShipMagnet(
"Magnet")
61Chamber = ROOT.ShipChamber(
"Chamber")
64Veto = ROOT.veto(
"Veto", ROOT.kTRUE)
67ecal = ROOT.ecal(
"Ecal", ROOT.kTRUE)
70Muon = ROOT.muon(
"Muon", ROOT.kTRUE)
75fMagField = ROOT.ShipConstField()
76fMagField.SetField(0., 2. ,0. )
77fMagField.SetFieldRegion(-160, 160,-160, 160, 1940, 125);
78run.SetField(fMagField)
81primGen = ROOT.FairPrimaryGenerator()
82pointZero = -decayVolumeLength/2. - targetHadronAbsorber - muShieldLength - 200.
84mom = ROOT.TVector3(0.,0.,100.)
85pos = ROOT.TVector3(0.,0.,pointZero)
86myPgun = ROOT.FairParticleGenerator(2212,1,0.,0.,100.,0.,0.,pointZero)
87primGen.AddGenerator(myPgun)
89run.SetGenerator(primGen)
94run.SetStoreTraj(ROOT.kTRUE)
101kParameterMerged = ROOT.kTRUE
102parOut = ROOT.FairParRootFileIo(kParameterMerged)
104rtdb.setOutput(parOut)
107rtdb.printParamContexts()
110run.CreateGeometryFile(
"geofile_full."+tag+
".root")
115rtime = timer.RealTime()
116ctime = timer.CpuTime()
118print(
"Macro finished succesfully.")
119print(
"Output file is ", outFile)
120print(
"Parameter file is ",parFile)
121print(
"Real time ",rtime,
" s, CPU time ",ctime,
"s")
127 lm = run.GetListOfModules()
128 for x
in lm: print(x.GetName())
129 fGeo = ROOT.gGeoManager
130 cave = fGeo.GetTopVolume()
133 tf = g.FindObjectAny(
'cbmroot')
134 for l
in tf.GetListOfFolders(): print(l.GetName())
135 l = tf.FindObject(
'MCGeoTrack')
136 trs = l.FindObject(
'GeoTracks')
137 for x
in trs: print(x)
138 l = tf.FindObject(
'Stack')
139 trs = l.FindObject(
'MCTrack')
140 for x
in trs: print(x)
143 fStack = gMC.GetStack()
150 gPrim = run.GetPrimaryGenerator()
151 mch = gPrim.GetEvent()
152 print(mch.GetEventID(),mch.GetZ())
153 gPy8 = gPrim.GetListOfGenerators()[0]