Source code for simu.pipeline.eclairs_channel_simu_case
'''
Created on 2 avr. 2019
@author: user
'''
from simu.lib.eclairs_channel import *
from simu.lib.sources import *
from common import add_path_output_eclairs
[docs]def simu_crab_with_flat_cxb():
dpix = ECLAIRsDetectorEffectDefault()
dpix.reduce_channel(50)
att = AttitudeECLAIRs()
# near crab
att.set_attitude_instru_ptgori([83, 22, 0])
swift = ListModelPointSrcFromCatalog(dpix)
d_src = swift.init_with_cat_swift_2012(att)
if "Crab" in list(d_src.keys()):
print("Yes Crab is here")
src_crab = d_src["Crab"]
else:
raise
assert isinstance(src_crab, ModelPointSrcIRF)
del d_src
secl = SimuEclairsEnergyChannel(dpix)
secl.set_context_simu(100)
# add source : crab and flat cxb
secl.add_src(src_crab)
print(f'Crab info flux max {src_crab.info_src["intensity"].max()}, min {src_crab.info_src["intensity"].min()}')
#secl.add_src_cxb(level=src_crab.info_src["intensity"].min()/100)
print(secl.get_list_src())
#secl.simu_src(l_src=["Crab"], verbose=True)
secl.simu_src()
#secl.simu_global_noise_poisson()
# end shadow photon
secl.simu_arf()
# shadow count
secl.create_evts()
print("nb evts : ",secl._evts.nb_row)
name_file = "Crab_CXBflat_{0}s_{1}chan.fits".format(secl.time_expose_s, dpix.chan_nb())
print(name_file)
secl._evts.write_L1(add_path_output_eclairs(name_file), "ECPI/APC")
secl.plot_channel(0)
secl.plot_channel(1)
secl.plot_channel(2)
secl.plot_channel(dpix.chan_nb()-1)
if __name__ == '__main__':
simu_crab_with_flat_cxb()
plt.show()