9 def __init__(self,geoFile):
10 self.fgeo = ROOT.TFile.Open(geoFile)
11 print('using geofile:',self.fgeo.GetName())
12
13 upkl = Unpickler(self.fgeo)
14 self.snd_geo = upkl.load('ShipGeo')
15
16 run = "notNeeded"
17 self.modules = sndDet_conf.configure(run,self.snd_geo)
18 self.sGeo = self.fgeo.FAIRGeom
19 self.modules['Scifi'].SiPMmapping()
20 lsOfGlobals = ROOT.gROOT.GetListOfGlobals()
21 for m in self.modules: lsOfGlobals.Add(self.modules[m])
22
23 temp = {}
24 for o1 in self.snd_geo:
25 key = o1
26 x = self.snd_geo[o1]
27 if not hasattr(x,'items'): temp[key] = x
28 else:
29 for o2 in x.__dict__:
30 key = o1 + '/' +o2
31 y = x.__dict__[o2]
32 if not hasattr(y,'items'): temp[key] = y
33 else:
34 for o3 in y.__dict__:
35 key = o1 + '/' +o2+ '__' +o3
36 z = y.__dict__[o3]
37 if not hasattr(z,'items'): temp[key] = z
38 for key in temp:
39 if not key.find('MuFilter')<0:
40 self.modules['MuFilter'].SetConfPar(key,temp[key])
41 if not key.find('Scifi')<0:
42 self.modules['Scifi'].SetConfPar(key,temp[key])
43