2012年6月26日火曜日

XIS sensitivity xis-limit.py

#!/usr/bin/env python
import math

myname = 'xis-test1.py'

area_file = 'fi2-area.qdp' # for 2 FI
nxb = 'fi1-nxb-fov.qdp' # for XIS1, cts/s/keV/fov/1FI

# general para.
sigma = 3.0
arcmin2 = 8.46e-8 # sr
time = 3e5 # sec

# XIS
omega_fov_arcmin2 = 17.0 * 17.0 # arcmin2
omega_arcmin2 = 9 # arcmin2

omega = omega_arcmin2 * arcmin2 # sr
omega_fov = omega_fov_arcmin2 * arcmin2 # sr

# functions
def eff_area(energy):
#    area = 2.0 * energy
    for line in open(area_file):
            lines = line.split(' ')
            try:
                in_energy = float(lines[0]);
                in_area = float(lines[1]);
            except ValueError: continue
            if in_energy <=0.0 or in_area <= 0.0: continue

            if in_energy >= energy :
                area = in_area
                break
    return area
# for 2 FI area (cm2)  

print '! created by %s¥n' % myname
print '! for 2FI ¥n'
print '! energy (keV) NXB-limit (LU) photon-limit (LU) ! Area (cm2)¥n'

for line in open(nxb):            # use file iterators
    lines = line.split(' ')


    if len(lines) != 4 : continue

    try:
        energy = float(lines[0]);
        nxb_cts = float(lines[2]);
    except ValueError: continue

    if energy <=0.0 or nxb_cts <= 0.0:
        continue

    area = eff_area(energy) # for 2 FI
    e_reso = 130.0/1000.0 * (energy/6.0) ** 0.5

    nxb_per_so = nxb_cts * 2.0 / area / omega_fov # cts/s/cm2/sr/keV for 2 FI

    cxb_norm = 10.0 # cts/cm2/sr/keV
    cxb_per_so = cxb_norm * (energy) ** -1.4

    f = area * omega * time

    limit_bgd_nxb = sigma * math.sqrt (nxb_per_so * e_reso/f)
    limit_bgd_cxb = sigma * math.sqrt (cxb_per_so * e_reso/f)
    limit_photon = sigma ** 2 * (f) ** -1
    limit_sum = math.sqrt(limit_bgd_nxb **2 + limit_photon **2 + limit_bgd_cxb **2)

    print "%6.3f " % energy,
    print "%4.1e " % limit_bgd_nxb,
    print "%4.1e " % limit_bgd_cxb,
    print "%4.1e " % limit_photon,
    print "%4.1e " % limit_sum,
    print "!",
    print "%4.1e " % area,
    print "%4.1e " % nxb_cts,
    print "%4.1e " % e_reso,
#    print "%4.1e " % nxb_per_so,
    print

print '!end '



calculate SXS sensitivity (sxs2.py)

#!/usr/bin/env python
import math

myname = 'sxs2.py'
sxs_area = 'sxs-area-gbgd.txt'
# paste sxs-area.qdp apec02kev1solarNorm150.txt | awk '{print $1, $2, $5}' >| sxs-area-gbgd.txt
# 0625-1m.xcm

# general para.
sigma = 3.0
arcmin2 = 8.46e-8 # sr
time = 3e5 # sec

# SXS
omega_arcmin2 = 9 # arcmin2
nxb = 0.7e-3 # /s/sxs/keV from QR at 6 keV
e_reso = 5.0/1000 # keV

omega = omega_arcmin2 * arcmin2 # sr
#print omega,

print '! created by %s¥n' % myname
print '! energy (keV) NXB-limit (LU) CXB-limit (LU) photon-limit (LU) total-limit (LU0 ! Area (cm2)¥n'

for line in open(sxs_area):            # use file iterators
#    line.rstrip()
#    print line
    lines = line.split(' ')

    if len(lines) != 3 : continue
    energy = float(lines[0]);
    area = float(lines[1]);
    cxb_galactic = float(lines[2]);
    # /s/cm2/keV/sr
    if energy <=0.0 or area <= 0.0:
        continue

    nxb_per_so = nxb / area / omega # cts/s/cm2/sr/keV
    cxb_per_so = cxb_galactic
    f = area * omega * time

    limit_bgd_nxb = sigma * math.sqrt (nxb_per_so * e_reso/f)
    limit_bgd_cxb = sigma * math.sqrt (cxb_per_so * e_reso/f)
    limit_photon = sigma ** 2 * (f) ** -1

    limit_sum = math.sqrt(limit_bgd_nxb **2 + limit_photon **2 + limit_bgd_cxb **2)

    print "%6.4f " % energy,
    print "%4.2e " % limit_bgd_nxb,
    print "%4.2e " % limit_bgd_cxb,
    print "%4.2e " % limit_photon,
    print "%4.2e " % limit_sum,
    print "!",
    print "%4.1e " % area,
    print

print '!end of sxs1.py'



BNCT 中性子捕捉療法

http://www.antm.or.jp/index.html
財団法人医用原子力技術研究振興財団

The Known Universe by AMNH

nice!

2012年6月16日土曜日

nuclear reactor

wikipedia

fukushima problem


原子力資料情報室 (NPO)

web-site
目的)
第3条 この法人は、原子力に依存しないエネルギーシステムの確立をめざす立場から、産業界とは独立に、原子力の開発利用の動向及び安全性 に関する調査研究や原子力に代わるエネルギーシステムに関する調査研究などの事業を行い、もって全ての生活者の生命及び健康の確保と地球環境の保全を図 り、社会の健全な発展と向上に寄与することを目的とする。

2012年6月7日木曜日

EWass 2012 @ ROMA

to-go:

http://www.ifsi-roma.inaf.it/ewass2012/


fkeypar not work


fkeypar $fits $key ; pget                                                                                    
not work                                                                                                    
->                                                                                                          
use    ftkeypar instead                                                                                                      
    system("ftkeypar $fits $key ") && return -1;
    my $value = `pget ftkeypar value`;

Maybe I miss something.

2012年6月6日水曜日