Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-10 07:50:28

0001 #!/usr/bin/env python
0002 """
0003 U4SimulateTest_ck.py
0004 ======================
0005 
0006 """
0007 import os, logging, numpy as np
0008 log = logging.getLogger(__name__)
0009 
0010 from opticks.ana.fold import Fold
0011 from opticks.ana.p import * 
0012 from opticks.sysrap.sevt import SEvt
0013 
0014 MODE = int(os.environ.get("MODE","2"))
0015 if MODE > 0:
0016     from opticks.ana.pvplt import * 
0017 else:
0018     pass
0019 pass
0020 
0021 axes = 0, 2  # X,Z
0022 H,V = axes 
0023 
0024 
0025 if __name__ == '__main__':
0026     logging.basicConfig(level=logging.INFO)
0027 
0028     FOLD = os.environ.get("FOLD", None)
0029     log.info(" -- SEvt.Load FOLD" )
0030     a = SEvt.Load(FOLD, symbol="a")   # optional photon histories 
0031     print(a)
0032 
0033     beg_ = "a.f.record[:,0,0,:3]"
0034     beg = eval(beg_)
0035 
0036     end_ = "a.f.photon[:,0,:3]"
0037     end = eval(end_)
0038 
0039 
0040     #label0, ppos0 = None, None
0041     label0, ppos0 = "b:%s" % beg_ , beg
0042 
0043     #label0, ppos0 = None, None
0044     label1, ppos1 = "r:%s" % end_ , end
0045 
0046 
0047     HEADLINE = "%s %s" % ( a.LAYOUT, a.CHECK )
0048     label = "\n".join( filter(None, [HEADLINE, label0, label1]))
0049     print(label)
0050 
0051     if MODE == 0:
0052         print("not plotting as MODE 0  in environ")
0053     elif MODE == 2:
0054         fig, ax = mpplt_plotter(label=label)
0055 
0056         ax.set_ylim(-250,250)
0057         ax.set_xlim(-500,500)
0058 
0059         if not ppos0 is None: ax.scatter( ppos0[:,H], ppos0[:,V], s=1, c="b" )  
0060         if not ppos1 is None: ax.scatter( ppos1[:,H], ppos1[:,V], s=1, c="r" )  
0061 
0062         fig.show()
0063     elif MODE == 3:
0064         pl = pvplt_plotter(label)
0065         os.environ["EYE"] = "0,100,165"
0066         os.environ["LOOK"] = "0,0,165"
0067         pvplt_viewpoint(pl)
0068         pl.add_points(ppos0)
0069         pl.show()
0070     pass
0071 pass
0072