SND@LHC Software
Loading...
Searching...
No Matches
eventDisplay.Rulers Class Reference
Inheritance diagram for eventDisplay.Rulers:
Collaboration diagram for eventDisplay.Rulers:

Public Member Functions

 __init__ (self)
 
 show (self, xy=0, ticks=5)
 
 remove (self)
 

Public Attributes

 ruler
 

Detailed Description

Definition at line 814 of file eventDisplay.py.

Constructor & Destructor Documentation

◆ __init__()

eventDisplay.Rulers.__init__ (   self)

Definition at line 816 of file eventDisplay.py.

816 def __init__(self):
817 self.ruler = ROOT.TEveCompound('Rulers')
818 gEve.AddElement(self.ruler)

Member Function Documentation

◆ remove()

eventDisplay.Rulers.remove (   self)

Definition at line 914 of file eventDisplay.py.

914 def remove(self):
915 self.ruler.DestroyElements()
916

◆ show()

eventDisplay.Rulers.show (   self,
  xy = 0,
  ticks = 5 
)

Definition at line 819 of file eventDisplay.py.

819 def show(self,xy=0,ticks=5):
820 self.ruler.DestroyElements()
821 self.ruler.OpenCompound()
822 xpos,ypos = -500., -1500.
823 zstart = ShipGeo.target.z0
824 zlength = ShipGeo.MuonStation3.z - zstart + 10*u.m
825 a1 = ROOT.TEveLine()
826 a1.SetNextPoint(xpos,ypos, zstart)
827 a1.SetNextPoint(xpos,ypos, zstart+zlength)
828 a1.SetMainColor(ROOT.kAzure-9)
829 a1.SetLineWidth(30)
830 #self.ruler.AddElement(a1)
831 z=zstart
832 for i in range(int(zlength/100/ticks)):
833 m = ROOT.TEveLine()
834 m.SetNextPoint(xpos,ypos, z)
835 m.SetNextPoint(xpos-1*u.m,ypos,z)
836 m.SetMainColor(ROOT.kRed)
837 m.SetLineWidth(5)
838 self.ruler.AddElement(m)
839 t1 = ROOT.TEveText(str(i*ticks)+'m')
840 t1.SetMainColor(ROOT.kGray+3)
841 t1.SetFontSize(5)
842 t1.RefMainTrans().SetPos(xpos-0.1*u.m,ypos+0.2*u.m,z)
843 self.ruler.AddElement(t1)
844 z+=ticks*u.m
845 xpos,ypos = 0., 0.
846 if xy==0: z = ShipGeo.MuonStation3.z+6*u.m
847 else: z=xy
848 ylength = 7*u.m
849 a2 = ROOT.TEveLine()
850 a2.SetNextPoint(xpos,-ylength, z)
851 a2.SetNextPoint(xpos,ylength, z)
852 a2.SetMainColor(ROOT.kAzure-9)
853 a2.SetLineWidth(30)
854 #self.ruler.AddElement(a2)
855 ypos=-ylength
856 for i in range(-int(ylength/100),int(ylength/100),1):
857 m = ROOT.TEveLine()
858 m.SetNextPoint(xpos,ypos, z)
859 m.SetNextPoint(xpos+0.05*u.m,ypos,z)
860 m.SetMainColor(ROOT.kRed)
861 m.SetLineWidth(3)
862 self.ruler.AddElement(m)
863 t1 = ROOT.TEveText(str(i)+'m')
864 t1.SetMainColor(ROOT.kGray+3)
865 t1.SetFontSize(5)
866 t1.RefMainTrans().SetPos(xpos-0.5*u.m,ypos,z)
867 self.ruler.AddElement(t1)
868 ypos+=1*u.m
869 ty = ROOT.TEveText("y-axis")
870 ty.SetFontSize(10)
871 ty.RefMainTrans().SetPos(0.,ypos+1*u.m,z)
872 ty.SetMainColor(ROOT.kRed-2)
873 self.ruler.AddElement(ty)
874 xpos,ypos = 0., 0.
875 if xy==0: z = ShipGeo.MuonStation3.z+10*u.m
876 xlength = 3*u.m
877 a3 = ROOT.TEveLine()
878 a3.SetNextPoint(-xlength,0, z)
879 a3.SetNextPoint(xlength,0, z)
880 a3.SetMainColor(ROOT.kAzure-9)
881 a3.SetLineWidth(30)
882 #self.ruler.AddElement(a3)
883 xpos=-xlength
884 for i in range(-int(xlength/100),int(xlength/100),1):
885 m = ROOT.TEveLine()
886 m.SetNextPoint(xpos,ypos, z)
887 m.SetNextPoint(xpos,ypos-0.05*u.m,z)
888 m.SetMainColor(ROOT.kRed)
889 m.SetLineWidth(3)
890 self.ruler.AddElement(m)
891 t1 = ROOT.TEveText(str(i)+'m')
892 t1.SetMainColor(ROOT.kGray+3)
893 t1.SetFontSize(5)
894 t1.RefMainTrans().SetPos(xpos,ypos-0.1*u.m,z)
895 self.ruler.AddElement(t1)
896 xpos+=1*u.m
897 tx = ROOT.TEveText("x-axis")
898 tx.SetFontSize(10)
899 tx.RefMainTrans().SetPos(xpos+1*u.m,0.,z)
900 tx.SetMainColor(ROOT.kRed-2)
901 self.ruler.AddElement(tx)
902 t1 = ROOT.TEveText("SHiP")
903 t1.SetFontSize(200)
904 t1.RefMainTrans().SetPos(0.,600.,ShipGeo.TrackStation1.z-10*u.m)
905 t1.PtrMainTrans().RotateLF(1, 3, ROOT.TMath.PiOver2())
906 t1.SetMainColor(ROOT.kOrange-2)
907 t1.SetFontMode(ROOT.TGLFont.kExtrude)
908 t1.SetLighting(ROOT.kTRUE)
909 self.ruler.AddElement(t1)
910 self.ruler.CloseCompound()
911 sc = ROOT.gEve.GetScenes()
912 geoscene = sc.FindChild('Geometry scene')
913 ROOT.gEve.ElementChanged(geoscene,True,True)

Member Data Documentation

◆ ruler

eventDisplay.Rulers.ruler

Definition at line 817 of file eventDisplay.py.


The documentation for this class was generated from the following file: