53 print(
'Creating text map {0} from {1}'.format(outFileName, inFileName))
55 tmpFileName =
'tmpFile.txt'
57 inFile = open(inFileName,
'r')
58 tmpFile = open(tmpFileName,
'w')
94 if iLine >= firstDataLine:
95 words = inLine.split()
98 x = float(words[0])*m2cm
99 y = float(words[1])*m2cm
100 z = float(words[2])*m2cm
111 newLine =
'{0} {1} {2}\n'.format(BxWord, ByWord, BzWord)
113 tmpFile.write(newLine)
116 if iLine == firstDataLine:
140 if gotdx == 0
and x != xOld:
143 if gotdy == 0
and y != yOld:
146 if gotdz == 0
and z != zOld:
150 print(
'dx = {0}, dy = {1}, dz = {2}'.format(dx,dy,dz))
151 print(
'x = {0} to {1}, y = {2} to {3}, z = {4} to {5}'.format(xMin, xMax, yMin, yMax, zMin, zMax))
157 tmpFile2 = open(tmpFileName,
'r')
158 outFile = open(outFileName,
'w')
160 outLine =
'CLimits {0:.0f} {1:.0f} {2:.0f} {3:.0f} {4:.0f} {5:.0f} ' \
161 '{6:.0f} {7:.0f} {8:.0f}\n'.format(xMin, xMax, dx, yMin, yMax, dy, zMin, zMax, dz)
162 outFile.write(outLine)
168 outLine =
'Bx(T) By(T) Bz(T)\n'
170 outFile.write(outLine)
173 for tLine
in tmpFile2:
198 print(
'Create ROOT map {0} from {1}'.format(outFileName, inFileName))
201 theFile = ROOT.TFile.Open(outFileName,
'recreate')
203 rangeTree = ROOT.TTree(
'Range',
'Range')
204 rangeTree.SetDirectory(theFile)
207 rStruct = ROOT.rangeStruct()
208 rangeTree.Branch(
'xMin', ROOT.AddressOf(rStruct,
'xMin'),
'xMin/F')
209 rangeTree.Branch(
'xMax', ROOT.AddressOf(rStruct,
'xMax'),
'xMax/F')
210 rangeTree.Branch(
'dx', ROOT.AddressOf(rStruct,
'dx'),
'dx/F')
211 rangeTree.Branch(
'yMin', ROOT.AddressOf(rStruct,
'yMin'),
'yMin/F')
212 rangeTree.Branch(
'yMax', ROOT.AddressOf(rStruct,
'yMax'),
'yMax/F')
213 rangeTree.Branch(
'dy', ROOT.AddressOf(rStruct,
'dy'),
'dy/F')
214 rangeTree.Branch(
'zMin', ROOT.AddressOf(rStruct,
'zMin'),
'zMin/F')
215 rangeTree.Branch(
'zMax', ROOT.AddressOf(rStruct,
'zMax'),
'zMax/F')
216 rangeTree.Branch(
'dz', ROOT.AddressOf(rStruct,
'dz'),
'dz/F')
218 dataTree = ROOT.TTree(
'Data',
'Data')
219 dataTree.SetDirectory(theFile)
225 dStruct = ROOT.dataStruct()
226 dataTree.Branch(
'Bx', ROOT.AddressOf(dStruct,
'Bx'),
'Bx/F')
227 dataTree.Branch(
'By', ROOT.AddressOf(dStruct,
'By'),
'By/F')
228 dataTree.Branch(
'Bz', ROOT.AddressOf(dStruct,
'Bz'),
'Bz/F')
239 with open(inFileName,
'r')
as f:
247 rStruct.xMin = float(sLine[1])
248 rStruct.xMax = float(sLine[2])
249 rStruct.dx = float(sLine[3])
250 rStruct.yMin = float(sLine[4])
251 rStruct.yMax = float(sLine[5])
252 rStruct.dy = float(sLine[6])
253 rStruct.zMin = float(sLine[7])
254 rStruct.zMax = float(sLine[8])
255 rStruct.dz = float(sLine[9])
257 Nx = int(((rStruct.xMax - rStruct.xMin)/rStruct.dx) + 1.0)
258 Ny = int(((rStruct.yMax - rStruct.yMin)/rStruct.dy) + 1.0)
259 Nz = int(((rStruct.zMax - rStruct.zMin)/rStruct.dz) + 1.0)
262 print(
'Nx = {0}, Ny = {1}, Nz = {2}'.format(Nx, Ny, Nz))
269 dStruct.Bx = float(sLine[0])
270 dStruct.By = float(sLine[1])
271 dStruct.Bz = float(sLine[2])