92 a = atan2( r[5], r[8] ) * rad
93 b = atan2( -r[2], cosb ) * rad
94 c = atan2( r[1], r[0] ) * rad
96 a = atan2( -r[7], r[4] ) * rad
97 b = atan2( -r[2], cosb ) * rad
280 print 'Info in <TPython::Exec>: Found ',
matlist.GetSize(),
' materials'
297 for shape
in shapelist:
298 self.
solList.append([shape, 0])
305 print 'Info in <TPython::Exec>: Dumped ', self.
shapesCount,
' shapes'
316 for node
in daughters:
320 print '[FIRST STAGE] Node count: ', self.
nodeCount
324 for node
in daughters:
328 print '[FIRST STAGE] Node count: ', self.
nodeCount
338 self.
nodes.append(currentNode)
342 print '[ZEROTH STAGE] Analysing node: ', self.
nodeCount
346 print '[RETRIEVING VOLUME LIST]'
350 print '[INITIALISING VOLUME USE COUNT]'
351 for vol
in self.
bvols:
352 self.
vols.append(vol)
355 print '[CALCULATING VOLUME USE COUNT]'
359 print '[ORDERING VOLUMES]'
363 print '[DUMPING GEOMETRY TREE]'
380 self.
vols.append(subvol)
384 self.
writer.addPosition(name+
'pos', pos[0], pos[1], pos[2])
387 if r[0]!=0.0
or r[1]!=0.0
or r[2]!=0.0:
388 self.
writer.addRotation(name+
'rot', r[0], r[1], r[2])
397 self.
writer.addReflSolid(
'refl_'+
node.GetVolume().GetShape().GetName()+
'_'+str(
libPyROOT.AddressOf(
node.GetVolume().GetShape())[0]),
node.GetVolume().GetShape().GetName()+
'_'+str(
libPyROOT.AddressOf(
node.GetVolume().GetShape())[0]), 0, 0, 0, rotmat[0], rotmat[4], rotmat[8], 0, 0, 0)
429 self.
writer.addPosition(name+
'pos', pos[0], pos[1], pos[2])
432 if r[0]!=0.0
or r[1]!=0.0
or r[2]!=0.0:
433 self.
writer.addRotation(name+
'rot', r[0], r[1], r[2])