8 def Init(self,path):
9 with client.File() as f:
10 f.open(path+"/board_mapping.json")
11 status, jsonStr = f.read()
13 self.slots = {0:'A',1:'A',2:'B',3:'B',4:'C',5:'C',6:'D',7:'D'}
14 self.MufiSystem = {}
15 for b in self.boardMaps['MuFilter']:
16 board_id = int(b.split('_')[1])
17 self.MufiSystem[board_id]={}
18 for x in self.boardMaps['MuFilter'][b]:
19 for slot in self.slots:
20 s = 0
21 tmp = self.boardMaps['MuFilter'][b][x].split('_')[0]
22 if tmp=='US': s = 1
23 elif tmp=='DS': s = 2
24 if self.slots[slot]==x: self.MufiSystem[board_id][slot]=s
25 self.SiPMmap={}
26 self.names = {'DS':2,'US':1,'Veto':0}
27 self.sdict = {3:'DS',2:'US',1:'Veto'}
28 for system in self.names:
29 sndswPath = os.environ['SNDSW_ROOT']
30 infile = sndswPath+"/geometry/"+system+"_SiPM_mapping.csv"
31 self.SiPMmap[system] = {}
32 if os.path.isdir(sndswPath+"/geometry"):
33 with open(infile, "r") as f:
34 reader = csv.DictReader(f, delimiter=',')
35 for i, row in enumerate(reader):
36 self.SiPMmap[system][int(row['SiPM'])] = [int(row['CN']), int(row['pin']), int(row['TOFPET']), int(row['CHANNEL'])]
37 self.offMap={}
38 for s in range(1,3):
39 for o in ['Left','Right']:
40 self.offMap['Veto_'+str(s)+o] =[10000 + (s-1)*1000+ 0,8,2]
41 self.offMap['Veto_3Vert'] = [10000+2*1000+0,8,1]
42 for s in range(1,6):
43 for o in ['Left','Right']:
44 self.offMap['US_'+str(s)+o] =[20000 + (s-1)*1000+ 9,-8,2]
45 for s in range(1,5):
46 for o in ['Vert']:
47 self.offMap['DS_'+str(s)+o] =[30000 + (s-1)*1000+ 119, -1,1]
48 if s>3: continue
49 for o in ['Left','Right']:
50 self.offMap['DS_'+str(s)+o] =[30000 + (s-1)*1000+ 59,-1,2]
51 self.revBoardMaps={}
52 self.revBoardMaps['MuFilter'] = {}
53 for board in self.boardMaps['MuFilter']:
54 for slot in self.boardMaps['MuFilter'][board]:
55 key = self.boardMaps['MuFilter'][board][slot]
56 self.revBoardMaps['MuFilter'][key]=[board,slot]
57
58 self.revBoardMaps['Scifi'] = {}
59 for board in self.boardMaps['Scifi']:
60 station,mat = self.boardMaps['Scifi'][board]
61 if not station in self.revBoardMaps['Scifi']: self.revBoardMaps['Scifi'][station] = {}
62 self.revBoardMaps['Scifi'][station][mat] = board
63
64
getBoardMapping(jsonString)