File indexing completed on 2026-04-09 07:49:15
0001
0002 """
0003 # s_pmt_test.py CAUTION : THIS DOCSTRING IS EVALUATED
0004 ######################################################
0005
0006 f
0007
0008 f.lpmtidx.shape
0009 f.lpmtidx.shape[0] == 17612 + 2400 + 348 + 5 # without MPMT
0010 f.lpmtidx.shape[0] == 17612 + 2400 + 348 + 600 + 5 # with MPMT
0011
0012 np.all( f.lpmtidx[:,0] == np.arange(len(f.lpmtidx)) ) # lpmtidx is contiguous from zero
0013
0014 f.lpmtidx_labels # ['lpmtidx', 'lpmtid', 'contiguousidx']
0015 f.lpmtidx[:17612] # CD LPMT
0016 np.all( f.lpmtidx[:17612,0] == f.lpmtidx[:17612,1] ) # for CD LPMT lpmtidx and lpmtid are same
0017 np.all( f.lpmtidx[:17612,0] == f.lpmtidx[:17612,2] ) # for CD LPMT lpmtidx and contiguousidx are same
0018
0019
0020 f.lpmtidx[17612:17612+2400]
0021
0022 np.all( f.lpmtidx[17612:17612+2400,1] == np.arange(2400)+50000 ) ## WP_PMT with id from 50000
0023
0024 np.all( f.lpmtidx[17612+2400:17612+2400+348,1] == np.arange(348)+52400 ) ## WP_ATM_LPMT id from 52400
0025
0026 np.all( f.lpmtidx[17612+2400+348+600:17612+2400+348+600+5,1] == np.arange(5)+54000 ) ## WP_ARM_WAL id from 54000
0027
0028
0029 ####################################################################
0030
0031 f.oldcontiguousidx.shape
0032 f.oldcontiguousidx.shape[0] == 17612 + 25600 + 2400 + 348 + 5
0033 f.oldcontiguousidx.shape[0] == 17612 + 25600 + 2400 + 348 + 600 + 5
0034 f.oldcontiguousidx_labels # ['oldcontiguousidx', 'pmtid', 'lpmtidx']
0035
0036 f.oldcontiguousidx[:17612] # CD LPMT
0037
0038 np.all( f.oldcontiguousidx[:17612,0] == np.arange(17612) + 0 )
0039 np.all( f.oldcontiguousidx[:17612,1] == np.arange(17612) + 0 )
0040 np.all( f.oldcontiguousidx[:17612,2] == np.arange(17612) + 0 )
0041
0042 np.cumsum([17612,25600,2400,348,5])
0043
0044 np.all( np.cumsum([17612,25600,2400,348,5]) == np.array([17612, 43212, 45612, 45960, 45965]))
0045
0046 f.oldcontiguousidx_labels # ['oldcontiguousidx', 'pmtid', 'lpmtidx']
0047
0048 f.oldcontiguousidx[17612:17612+25600] # SPMT
0049
0050 np.all( f.oldcontiguousidx[17612:17612+25600,0] == np.arange(25600) + 17612 )
0051 np.all( f.oldcontiguousidx[17612:17612+25600,1] == np.arange(25600) + 20000 )
0052 np.all( f.oldcontiguousidx[17612:17612+25600,2] == -1 )
0053
0054 f.oldcontiguousidx[17612+25600:17612+25600+2400] # WP_PMT
0055
0056 np.all( f.oldcontiguousidx[17612+25600:17612+25600+2400,0] == np.arange(2400) + 43212 )
0057 np.all( f.oldcontiguousidx[17612+25600:17612+25600+2400,1] == np.arange(2400) + 50000 )
0058 np.all( f.oldcontiguousidx[17612+25600:17612+25600+2400,2] == np.arange(2400) + 17612 )
0059
0060 f.oldcontiguousidx[17612+25600+2400:17612+25600+2400+248] # WP_ATM_LPMT
0061
0062 np.all( f.oldcontiguousidx[17612+25600+2400:17612+25600+2400+348,0] == np.arange(348) + 17612+25600+2400 )
0063 np.all( f.oldcontiguousidx[17612+25600+2400:17612+25600+2400+348,1] == np.arange(348) + 52400 )
0064 np.all( f.oldcontiguousidx[17612+25600+2400:17612+25600+2400+348,2] == np.arange(348) + 17612+0+2400 ) ## lpmtidx excludes SPMT
0065
0066
0067 f.oldcontiguousidx[17612+25600+2400+348:17612+25600+2400+348+5] # WP_WAL_PMT
0068
0069 np.all( f.oldcontiguousidx[17612+25600+2400+348:17612+25600+2400+348+5,0] == np.arange(5) + 17612+25600+2400+348 )
0070 np.all( f.oldcontiguousidx[17612+25600+2400+348:17612+25600+2400+348+5,1] == np.arange(5) + 54000 )
0071 np.all( f.oldcontiguousidx[17612+25600+2400+348:17612+25600+2400+348+5,2] == np.arange(5) + 17612+0+2400+348 ) ## lpmtidx excludes SPMT
0072
0073
0074 #########################################
0075
0076 f.contiguousidx.shape
0077 f.contiguousidx.shape[0] == 17612 + 2400 + 25600 + 348 + 5
0078
0079 f.contiguousidx_labels # ['contiguousidx', 'pmtid', 'lpmtidx']
0080 f.contiguousidx[:17612] # CD_LPMT
0081
0082 f.contiguousidx_labels
0083 f.contiguousidx[17612:17612+2400] # WP_PMT
0084
0085 np.all( f.contiguousidx[17612:17612+2400,1] == np.arange(2400) + 50000 )
0086
0087 np.all( f.contiguousidx[17612+2400:17612+2400+348,1] == np.arange(348) + 52400 )
0088
0089 np.all( f.contiguousidx[17612+2400+348:17612+2400+348+5,1] == np.arange(5) + 54000 )
0090
0091
0092 f.contiguousidx_labels
0093 f.contiguousidx[17612+2400:17612+2400+25600] # S_PMT
0094
0095 np.all( f.contiguousidx[17612+2400+348+5:17612+2400+348+5+25600,0] == np.arange(25600) + 17612+2400+348+5 )
0096 np.all( f.contiguousidx[17612+2400+348+5:17612+2400+348+5+25600,1] == np.arange(25600) + 20000 )
0097 np.all( f.contiguousidx[17612+2400+348+5:17612+2400+348+5+25600,2] == -1 )
0098
0099 """
0100
0101 import textwrap, numpy as np
0102 from np.fold import Fold
0103
0104
0105 if __name__ == '__main__':
0106 f = Fold.Load(symbol="f")
0107
0108 EXPR = list(map(str.strip,textwrap.dedent(__doc__).split("\n")))
0109
0110 lines = []
0111 for expr in EXPR:
0112 lines.append(expr)
0113 if expr == "" or expr.startswith("#"): continue
0114 lines.append(repr(eval(expr)))
0115 pass
0116 print("\n".join(lines))
0117 pass
0118
0119