96 def ExecuteTask(self,option=''):
97 self.comp.DestroyElements()
98 self.comp.OpenCompound()
99 nav = ROOT.gGeoManager.GetCurrentNavigator()
100 for digi in sTree.Digi_SBTHits:
101 if not digi.isValid(): continue
102 node = digi.GetNode()
103 shape = node.GetVolume().GetShape()
104 bx = ROOT.TEveBox( node.GetName() )
105 bx.SetPickable(ROOT.kTRUE)
106 bx.SetTitle(digi.__repr__())
107 bx.SetMainColor(ROOT.kMagenta+3)
108 dx,dy,dz = shape.GetDX(),shape.GetDY(),shape.GetDZ()
109 o = shape.GetOrigin()
110 master = array('d',[0,0,0])
111 n=0
112 for edge in [ [-dx,-dy,-dz],[-dx,+dy,-dz],[+dx,+dy,-dz],[+dx,-dy,-dz],[-dx,-dy, dz],[-dx,+dy, dz],[+dx,+dy, dz],[+dx,-dy, dz]]:
113 origin = array('d',[edge[0]+o[0],edge[1]+o[1],edge[2]+o[2]])
114 nav.LocalToMaster(origin,master)
115 bx.SetVertex(n,master[0],master[1],master[2])
116 n+=1
117 self.comp.AddElement(bx)
118 self.comp.CloseCompound()
119 gEve.ElementChanged(self.evscene,True,True)