Note
Go to the end to download the full example code.
Functions & Outputs
Script showing a quick example on how to use the functions.
The chosen telescope for the example is Telescope 2 with photon path:
Thermal blanket -> Marshall 10-shell X-7 -> Al (0.015”) -> CdTe4
Mainly a quick example on unit aware objects and how to access the returned data-class objects.
This example shows the use of nice high level functions that are tied to FOXSI-4 telescopes.
The
responses
module.The
telescope_parts
module
This means we will eventually be dealing with high-level telescope response products such as the Ancillary Response Function (ARF) and the Redistribution Matrix Function (RMF).
If you’re looking for access to response data of the individual components with more freedom then you’ll likely be interested in the longer named moduels in the package like:
The
attenuation
module.The
detector_response
module.The
effective_area
module.The
quantum_efficiency
module.
Please look over the FOXSI-4 observation resources to add more context as to how a user might decide on their choice of the function parameters. Additionally, look over the FOXSI-4 instrumentation resources when deciding which functions to use.
Let’s start with importing trusty Numpy as I’m sure we’ll need it.
import numpy as np
For high-level user engagement, the following two modules are the ones likely to use. The telescope_parts are well-named functions tied to FOXSI positions: E.g., foxsi4_position2_optics will return FOXSI-4’s optical information for Position/Telescope 2.
The responses module will contains functions that combine the relevant telescope_parts functions into one to return higher level products such as the telescope’s Ancillary Response Function (ARF), Redistribution Matrix Function (RMF), and/or Spectral Response Matrix (SRM).
import response_tools.responses as responses
import response_tools.telescope_parts as telescope_parts
Let’s look at the foxsi4_position2_optics function since we mentioned it earlier. To see the documentation for this, and any function, we can always run:
help(telescope_parts.foxsi4_position2_optics)
Help on function foxsi4_position2_optics in module response_tools.telescope_parts:
foxsi4_position2_optics(mid_energies, off_axis_angle)
Position 2 MSFC heritage X-7 optic effective areas.
Parameters
----------
mid_energies : `astropy.units.quantity.Quantity`
The energies at which the position 2 optics is required. If
`numpy.nan<<astropy.units.keV` is passed then an entry for all
native file energies are returned.
Unit must be convertable to keV.
off_axis_angle : `astropy.units.quantity.Quantity`
The off-axis angle of the source.
Unit must be convertable to arc-minutes.
Returns
-------
: `effective_area.EffAreaOutput`
An object containing the effective area information of the MSFC
heritage X-7 optic. See accessible information using `.contents`
on the output.
We see that the help function tells us about the function, how to use it, and what it returns (for those that are familiar with Python, ``help`` will display the docstring the queried Python object).
The above function is looking for some energies and an off-axis angle.
The help
function also shows the function is making use of unit
aware inputs to functions (believe me, when it comes to response
units, this will save time).
So let’s import Astropy’s unit module.
import astropy.units as u
Let’s choose a sensible energy array and off-axis angle (remembering to add the units to the array/value):
mid_energies = np.arange(4,20,0.5) << u.keV
off_axis_angle = 0 << u.arcmin
pos2_optics = telescope_parts.foxsi4_position2_optics(mid_energies,
off_axis_angle)
One great thing about the unit-awareness of the inputs/outputs is that you can pass any reasonable input units and they’ll be converted for you so you don’t need to worry about conversion factors throughout your code to use the functions.
E.g., the following will result in the same function output
mid_energies_eV = np.arange(4_000,20_000,500) << u.eV
off_axis_angle_arcsec = 0 << u.arcsec
_pos2_ = telescope_parts.foxsi4_position2_optics(mid_energies_eV,
off_axis_angle_arcsec)
I.e., pos2_optics and _pos2_ are identical.
You can also access just the value or just the unit from a unit-aware object with .value or .unit as well. This can useful for axis labels when necessary.
The output of pos2_optics (an pos2_optics_new) isn’t just an array now, it’s a data-class. The data-class contains the effective areas of the optics but also the energy, file, off-axis angle information used to produce it. This is crucial to track when there are a lot of files flying around.
As suggested in the “Output” section of the helpful documentation earlier, we can see the contents of the data-class and how to access the information within it:
print(pos2_optics.contents)
{'filename': 'tilt:/home/runner/work/response-tools/response-tools/response_tools/response-information/effective-area-data/FOXSI3_Module_X-7_EA_tilt_v1.txt, pan:/home/runner/work/response-tools/response-tools/response_tools/response-information/effective-area-data/FOXSI3_Module_X-7_EA_pan_v1.txt', 'function_path': 'eff_area_msfc_10shell\n->foxsi4_position2_optics', 'mid_energies': <Quantity [ 4. , 4.5, 5. , 5.5, 6. , 6.5, 7. , 7.5, 8. , 8.5,
9. , 9.5, 10. , 10.5, 11. , 11.5, 12. , 12.5, 13. , 13.5,
14. , 14.5, 15. , 15.5, 16. , 16.5, 17. , 17.5, 18. , 18.5,
19. , 19.5] keV>, 'off_axis_angle': <Quantity 0. arcmin>, 'effective_areas': <Quantity [ nan, 25.6 , 25.74165016, 25.7 , 25.38849205,
25.2 , 25.46950326, 25.8 , 25.78844674, 25.6 ,
25.39954011, 24.8 , 23.59040948, 21.83303833, 19.4 ,
16.44237079, 13.42648954, 10.69736352, 8.6 , 7.13809917,
6.02641095, 5.17651726, 4.5 , 3.92313899, 3.43100572,
3.02336959, 2.7 , 2.47505764, 2.32313356, 2.18464269,
2. , 1.75121039] cm2>, 'optic_id': 'X-7', 'model': False}
The above might be a bit cumbersome and you may only wish to look at the data fields contained in the output. For this we can simply run:
print(pos2_optics.fields)
['filename', 'function_path', 'mid_energies', 'off_axis_angle', 'effective_areas', 'optic_id', 'model']
which might be a bit easier to read.
Note: there is a method called print_contents() you can use on the function output that might format the contents a little nicer than the above you may wish to use.
Each field can be accessed with the displayed name. For example, to get the effective areas of the optics, simply:
print(pos2_optics.effective_areas)
[ nan 25.6 25.74165016 25.7 25.38849205 25.2
25.46950326 25.8 25.78844674 25.6 25.39954011 24.8
23.59040948 21.83303833 19.4 16.44237079 13.42648954 10.69736352
8.6 7.13809917 6.02641095 5.17651726 4.5 3.92313899
3.43100572 3.02336959 2.7 2.47505764 2.32313356 2.18464269
2. 1.75121039] cm2
Notice that these are also unit-aware, help you see at a glance you’re working with a product that you might expect.
The telescope_parts.foxsi4_position2_optics function is helpful but an even higher level exists that will allow a user to specify a FOXSI-4 telescope to obtain the Ancillary Response Function (ARF), Redistribution Matrix Function (RMF), and/or Spectral Response Matrix (SRM).
First, we can get the RMF for a telescope, say, Telescope 2 to be consistent with using position 2’s components previously.
tel2_rmf = responses.foxsi4_telescope2_rmf(region=0)
We need to pass the detector region we are interested in for the
correct response to be returned for the CdTe detectors. A user can
define the detector area of interest another way using the strip pitch
values for the CdTe detector. Feel free to make use of the help
function to see how else the following function can be used.
The RMF defined the input and output energy axes for the detector so we might as well access the RMF input energies for those energies we want the ARF values for:
mid_energies = (tel2_rmf.input_energy_edges[:-1]\
+tel2_rmf.input_energy_edges[1:])/2
tel2_arf = responses.foxsi4_telescope2_arf(mid_energies=mid_energies,
off_axis_angle=0<<u.arcmin)
Once we have the RMF and ARF for a given instrument, you might want to just see what the total SRM is. This can be done by passing the ARF and RMF to the general responses.foxsi4_telescope_spectral_response function:
tel2_srm = responses.foxsi4_telescope_spectral_response(tel2_arf, tel2_rmf)
Note that with the FOXSI-4 Telescope fucntions (foxsi4_telescope*), there exists a field in the class called elements. This field contains all the data-classes used to produce the objects response field.
Checking the elements field for, say, the ARF object:
print(tel2_arf.elements)
(AttOutput(filename='/home/runner/work/response-tools/response-tools/response_tools/response-information/attenuation-data/F4_Blanket_transmission_v1.dat', function_path='att_thermal_blanket\n->foxsi4_position2_thermal_blanket\n->foxsi4_telescope2_arf', transmissions=<Quantity [0.03506241, 0.04767571, 0.06252302, 0.07949666, 0.0984265 ,
0.11910309, 0.141284 , 0.1647027 , 0.18908773, 0.21417788,
0.2397092 , 0.26543765, 0.29116203, 0.31687752, 0.34236086,
0.3673619 , 0.39175334, 0.41542716, 0.43878804, 0.46131948,
0.48296168, 0.50391366, 0.52423757, 0.54360309, 0.56221388,
0.5802297 , 0.59727945, 0.61372937, 0.62947932, 0.64433675,
0.65884894, 0.67247225, 0.68561348, 0.69810841, 0.70999299,
0.72143614, 0.73220761, 0.74266955, 0.7524449 , 0.76199847,
0.77088982, 0.77960426, 0.78770915, 0.79564701, 0.80304962,
0.81027502, 0.81705505, 0.82362215, 0.82984405, 0.83580523,
0.84152949, 0.84693364, 0.85221543, 0.8571456 , 0.86199267,
0.86655545, 0.87094097, 0.87517205, 0.87913483, 0.88306667,
0.88675344, 0.89030276, 0.89374036, 0.89696931, 0.9001501 ,
0.90316933, 0.9060319 , 0.90886272, 0.91152799, 0.91409205,
0.91659796, 0.91896193, 0.92125851, 0.92348826, 0.92559521,
0.92765075, 0.929641 , 0.93152476, 0.9333626 , 0.93514632,
0.93683714, 0.93847912, 0.9400841 , 0.94160753, 0.94307315,
0.9445222 , 0.94589942, 0.9472099 , 0.94851881, 0.94976788,
0.95095778, 0.95212435, 0.95326066, 0.95434439, 0.9553827 ,
0.95641899, 0.95740831, 0.95835376, 0.95927906, 0.96018528,
0.96105206, 0.96188187, 0.96270597, 0.96350211, 0.96426498,
0.9649967 , 0.96572977, 0.96643287, 0.96710765, 0.96775847,
0.96840751, 0.96903085, 0.96963012, 0.97020846, 0.97078567,
0.97134089, 0.97187531, 0.97239024, 0.97290456, 0.97340113,
0.97387981, 0.97434151, 0.97479928, 0.97524613, 0.97567737,
0.97609383, 0.97650051, 0.97690237, 0.97729087, 0.97766632,
0.97802961, 0.97838992, 0.97874063, 0.9790802 , 0.97940903,
0.97972906, 0.98004651, 0.98035407, 0.98065227, 0.98094153,
0.98122507, 0.9815042 , 0.98177516, 0.98203814, 0.98229373,
0.98254478, 0.98279124, 0.98303091, 0.98326391, 0.98349053,
0.98371291, 0.98393136, 0.98414397, 0.98435098, 0.98455256,
0.98474991, 0.9849441 , 0.98513335, 0.98531788, 0.98549783,
0.98567337, 0.98584628, 0.9860152 , 0.98618001, 0.98634094,
0.98649812, 0.9866507 , 0.98679834, 0.98694277, 0.98708397,
0.98722208, 0.98735714, 0.98749471, 0.98763084, 0.98776406,
0.98789448, 0.98802191, 0.98814678, 0.98826921, 0.98838902,
0.98850644, 0.98862141, 0.98873407, 0.98884445, 0.9889524 ,
0.98905826, 0.98916215, 0.98926377, 0.98936361, 0.98946154,
0.98955727, 0.98965108, 0.98974311, 0.98983341, 0.98992223,
0.99000937, 0.9900946 , 0.99017793, 0.99025971, 0.99034017,
0.99041927, 0.99049699, 0.99057335, 0.99064761, 0.99072057,
0.99079233, 0.99086297, 0.99093229, 0.99100071, 0.99106777,
0.99113286, 0.99119693, 0.99126005, 0.99132216, 0.99138343,
0.99144369, 0.99150276, 0.99156004, 0.99161655, 0.99167228,
0.99172717, 0.99178129, 0.99183458, 0.99188709, 0.99193764,
0.99198759, 0.99203694, 0.99208546, 0.9921335 , 0.99218076,
0.99222749, 0.99227256, 0.99231678, 0.99236035, 0.99240357,
0.99244624, 0.99248832, 0.99252987, 0.99257046, 0.99260968,
0.99264848, 0.99268687, 0.99272466, 0.99276215, 0.99279916,
0.99283576, 0.99287111, 0.99290562, 0.99293971, 0.99297345,
0.99300683, 0.99303979, 0.99307251, 0.99310476, 0.99313599,
0.99316633, 0.99319631, 0.99322611, 0.99325567, 0.99328482,
0.99331367, 0.99334228, 0.99337006, 0.99339682, 0.9934234 ,
0.99344963, 0.99347562, 0.99350154, 0.99352699, 0.99355239,
0.99357748]>, attenuation_type='Thermal-Blanket', model=True, mid_energies=<Quantity [ 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9,
4. , 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9,
5. , 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9,
6. , 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9,
7. , 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9,
8. , 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9,
9. , 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9,
10. , 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9,
11. , 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9,
12. , 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9,
13. , 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9,
14. , 14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9,
15. , 15.1, 15.2, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9,
16. , 16.1, 16.2, 16.3, 16.4, 16.5, 16.6, 16.7, 16.8, 16.9,
17. , 17.1, 17.2, 17.3, 17.4, 17.5, 17.6, 17.7, 17.8, 17.9,
18. , 18.1, 18.2, 18.3, 18.4, 18.5, 18.6, 18.7, 18.8, 18.9,
19. , 19.1, 19.2, 19.3, 19.4, 19.5, 19.6, 19.7, 19.8, 19.9,
20. , 20.1, 20.2, 20.3, 20.4, 20.5, 20.6, 20.7, 20.8, 20.9,
21. , 21.1, 21.2, 21.3, 21.4, 21.5, 21.6, 21.7, 21.8, 21.9,
22. , 22.1, 22.2, 22.3, 22.4, 22.5, 22.6, 22.7, 22.8, 22.9,
23. , 23.1, 23.2, 23.3, 23.4, 23.5, 23.6, 23.7, 23.8, 23.9,
24. , 24.1, 24.2, 24.3, 24.4, 24.5, 24.6, 24.7, 24.8, 24.9,
25. , 25.1, 25.2, 25.3, 25.4, 25.5, 25.6, 25.7, 25.8, 25.9,
26. , 26.1, 26.2, 26.3, 26.4, 26.5, 26.6, 26.7, 26.8, 26.9,
27. , 27.1, 27.2, 27.3, 27.4, 27.5, 27.6, 27.7, 27.8, 27.9,
28. , 28.1, 28.2, 28.3, 28.4, 28.5, 28.6, 28.7, 28.8, 28.9,
29. , 29.1, 29.2, 29.3, 29.4, 29.5, 29.6, 29.7, 29.8, 29.9,
30. ] keV>, off_axis_angle=<Quantity nan arcmin>, times=<Quantity nan s>), EffAreaOutput(filename='tilt:/home/runner/work/response-tools/response-tools/response_tools/response-information/effective-area-data/FOXSI3_Module_X-7_EA_tilt_v1.txt, pan:/home/runner/work/response-tools/response-tools/response_tools/response-information/effective-area-data/FOXSI3_Module_X-7_EA_pan_v1.txt', function_path='eff_area_msfc_10shell\n->foxsi4_position2_optics\n->foxsi4_telescope2_arf', mid_energies=<Quantity [ 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9,
4. , 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9,
5. , 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9,
6. , 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9,
7. , 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9,
8. , 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9,
9. , 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9,
10. , 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9,
11. , 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9,
12. , 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9,
13. , 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9,
14. , 14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9,
15. , 15.1, 15.2, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9,
16. , 16.1, 16.2, 16.3, 16.4, 16.5, 16.6, 16.7, 16.8, 16.9,
17. , 17.1, 17.2, 17.3, 17.4, 17.5, 17.6, 17.7, 17.8, 17.9,
18. , 18.1, 18.2, 18.3, 18.4, 18.5, 18.6, 18.7, 18.8, 18.9,
19. , 19.1, 19.2, 19.3, 19.4, 19.5, 19.6, 19.7, 19.8, 19.9,
20. , 20.1, 20.2, 20.3, 20.4, 20.5, 20.6, 20.7, 20.8, 20.9,
21. , 21.1, 21.2, 21.3, 21.4, 21.5, 21.6, 21.7, 21.8, 21.9,
22. , 22.1, 22.2, 22.3, 22.4, 22.5, 22.6, 22.7, 22.8, 22.9,
23. , 23.1, 23.2, 23.3, 23.4, 23.5, 23.6, 23.7, 23.8, 23.9,
24. , 24.1, 24.2, 24.3, 24.4, 24.5, 24.6, 24.7, 24.8, 24.9,
25. , 25.1, 25.2, 25.3, 25.4, 25.5, 25.6, 25.7, 25.8, 25.9,
26. , 26.1, 26.2, 26.3, 26.4, 26.5, 26.6, 26.7, 26.8, 26.9,
27. , 27.1, 27.2, 27.3, 27.4, 27.5, 27.6, 27.7, 27.8, 27.9,
28. , 28.1, 28.2, 28.3, 28.4, 28.5, 28.6, 28.7, 28.8, 28.9,
29. , 29.1, 29.2, 29.3, 29.4, 29.5, 29.6, 29.7, 29.8, 29.9,
30. ] keV>, off_axis_angle=<Quantity 0. arcmin>, effective_areas=<Quantity [ nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan,
25.6 , 25.63419564, 25.66692488, 25.69672131, 25.72211854,
25.74165016, 25.75384976, 25.75725095, 25.75038732, 25.73179247,
25.7 , 25.65357777, 25.59492909, 25.52834073, 25.45809946,
25.38849205, 25.32380528, 25.26832592, 25.22634074, 25.20213651,
25.2 , 25.22203915, 25.26450606, 25.32290371, 25.39273512,
25.46950326, 25.54871114, 25.62586176, 25.69645811, 25.75600319,
25.8 , 25.82576921, 25.83517709, 25.83054504, 25.81419446,
25.78844674, 25.75562328, 25.71804548, 25.67803474, 25.63791245,
25.6 , 25.56602261, 25.53328989, 25.49749989, 25.45435062,
25.39954011, 25.32876639, 25.2377275 , 25.12212145, 24.97764627,
24.8 , 24.59576579, 24.37371273, 24.13281772, 23.87205767,
23.59040948, 23.28685007, 22.96035634, 22.6099052 , 22.23447356,
21.83303833, 21.40457641, 20.9480647 , 20.46248013, 19.94679959,
19.4 , 18.82969467, 18.24601903, 17.65173313, 17.04959703,
16.44237079, 15.83281447, 15.22368813, 14.61775182, 14.0177656 ,
13.42648954, 12.84668368, 12.28110809, 11.73252283, 11.20368795,
10.69736352, 10.21630958, 9.7632862 , 9.34105344, 8.95237135,
8.6 , 8.27535876, 7.96755539, 7.67588257, 7.39963295,
7.13809917, 6.89057389, 6.65634978, 6.43471948, 6.22497566,
6.02641095, 5.83831803, 5.65998955, 5.49071815, 5.32979651,
5.17651726, 5.03017308, 4.8900566 , 4.75546049, 4.62567741,
4.5 , 4.37783851, 4.25907351, 4.14370315, 4.03172559,
3.92313899, 3.81794149, 3.71613127, 3.61770646, 3.52266522,
3.43100572, 3.3427261 , 3.25782452, 3.17629914, 3.09814811,
3.02336959, 2.95196173, 2.88392268, 2.81925061, 2.75794366,
2.7 , 2.64630998, 2.59744742, 2.55293563, 2.51229793,
2.47505764, 2.44073808, 2.40886258, 2.37895444, 2.35053699,
2.32313356, 2.29626745, 2.26946199, 2.2422405 , 2.21412629,
2.18464269, 2.15331302, 2.1196606 , 2.08320874, 2.04348077,
2. , 1.95356674, 1.90536792, 1.85550676, 1.8040865 ,
1.75121039, 1.69698164, 1.6415035 , 1.58487921, 1.527212 ,
1.46860511, 1.40916176, 1.34898521, 1.28817868, 1.22684541,
1.16508863, 1.10301158, 1.0407175 , 0.97830962, 0.91589118,
0.85356541, 0.79143556, 0.72960484, 0.66817651, 0.60725379,
0.54693993, 0.48733815, 0.4285517 , 0.3706838 , 0.3138377 ,
0.25811664, 0.20362383, 0.15046253, 0.09873597, 0.04854738,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , nan, nan, nan, nan,
nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan,
nan] cm2>, optic_id='X-7', model=False), AttOutput(filename='/home/runner/work/response-tools/response-tools/response_tools/response-information/attenuation-data/unif_att_p2_theoretical_v1.csv', function_path='att_uniform_al_cdte\n->foxsi4_position2_uniform_al\n->foxsi4_telescope2_arf', transmissions=<Quantity [1.42734e-35, 1.41156e-32, 6.48530e-30, 1.53805e-27, 2.05526e-25,
1.66657e-23, 8.72542e-22, 3.10834e-20, 7.87451e-19, 1.47506e-17,
2.11329e-16, 2.38256e-15, 2.16613e-14, 1.64753e-13, 1.06199e-12,
5.85149e-12, 2.79579e-11, 1.17313e-10, 4.48792e-10, 1.54103e-09,
4.79224e-09, 1.37579e-08, 3.68618e-08, 9.14001e-08, 2.12858e-07,
4.71191e-07, 9.80557e-07, 1.95366e-06, 3.72315e-06, 6.75807e-06,
1.19550e-05, 2.02379e-05, 3.33268e-05, 5.31671e-05, 8.23894e-05,
1.24864e-04, 1.83842e-04, 2.66405e-04, 3.75541e-04, 5.23247e-04,
7.10786e-04, 9.56662e-04, 1.25886e-03, 1.64326e-03, 2.10390e-03,
2.67267e-03, 3.34165e-03, 4.14324e-03, 5.07445e-03, 6.15635e-03,
7.40517e-03, 8.81017e-03, 1.04316e-02, 1.22084e-02, 1.42400e-02,
1.64545e-02, 1.88993e-02, 2.15933e-02, 2.44586e-02, 2.76660e-02,
3.10495e-02, 3.46901e-02, 3.86149e-02, 4.27000e-02, 4.71380e-02,
5.17710e-02, 5.65784e-02, 6.17646e-02, 6.70767e-02, 7.26128e-02,
7.84600e-02, 8.44024e-02, 9.06031e-02, 9.70556e-02, 1.03570e-01,
1.10348e-01, 1.17333e-01, 1.24345e-01, 1.31595e-01, 1.39039e-01,
1.46476e-01, 1.54086e-01, 1.61913e-01, 1.69704e-01, 1.77554e-01,
1.85692e-01, 1.93763e-01, 2.01762e-01, 2.10115e-01, 2.18402e-01,
2.26591e-01, 2.34940e-01, 2.43381e-01, 2.51703e-01, 2.59937e-01,
2.68475e-01, 2.76873e-01, 2.85133e-01, 2.93482e-01, 3.01921e-01,
3.10205e-01, 3.18336e-01, 3.26679e-01, 3.34948e-01, 3.43051e-01,
3.50992e-01, 3.59219e-01, 3.67271e-01, 3.75150e-01, 3.82905e-01,
3.90881e-01, 3.98678e-01, 4.06300e-01, 4.13785e-01, 4.21487e-01,
4.29010e-01, 4.36356e-01, 4.43532e-01, 4.50919e-01, 4.58150e-01,
4.65206e-01, 4.72094e-01, 4.79089e-01, 4.86030e-01, 4.92800e-01,
4.99404e-01, 5.05963e-01, 5.12607e-01, 5.19083e-01, 5.25398e-01,
5.31558e-01, 5.37842e-01, 5.44031e-01, 5.50064e-01, 5.55945e-01,
5.61736e-01, 5.67647e-01, 5.73405e-01, 5.79017e-01, 5.84488e-01,
5.89945e-01, 5.95438e-01, 6.00790e-01, 6.06007e-01, 6.11092e-01,
6.16190e-01, 6.21296e-01, 6.26271e-01, 6.31120e-01, 6.35848e-01,
6.40575e-01, 6.45321e-01, 6.49947e-01, 6.54455e-01, 6.58851e-01,
6.63200e-01, 6.67614e-01, 6.71915e-01, 6.76108e-01, 6.80197e-01,
6.84186e-01, 6.88274e-01, 6.92278e-01, 6.96182e-01, 6.99988e-01,
7.03702e-01, 7.07414e-01, 7.11158e-01, 7.14807e-01, 7.18367e-01,
7.21839e-01, 7.25228e-01, 7.28665e-01, 7.32059e-01, 7.35370e-01,
7.38600e-01, 7.41754e-01, 7.44832e-01, 7.47986e-01, 7.51074e-01,
7.54087e-01, 7.57029e-01, 7.59901e-01, 7.62707e-01, 7.65582e-01,
7.68396e-01, 7.71143e-01, 7.73827e-01, 7.76448e-01, 7.79010e-01,
7.81613e-01, 7.84184e-01, 7.86694e-01, 7.89148e-01, 7.91546e-01,
7.93890e-01, 7.96232e-01, 7.98584e-01, 8.00883e-01, 8.03131e-01,
8.05328e-01, 8.07477e-01, 8.09579e-01, 8.11728e-01, 8.13837e-01,
8.15900e-01, 8.17917e-01, 8.19891e-01, 8.21823e-01, 8.23732e-01,
8.25671e-01, 8.27568e-01, 8.29424e-01, 8.31240e-01, 8.33019e-01,
8.34760e-01, 8.36489e-01, 8.38237e-01, 8.39947e-01, 8.41622e-01,
8.43263e-01, 8.44870e-01, 8.46444e-01, 8.48000e-01, 8.49580e-01,
8.51127e-01, 8.52644e-01, 8.54129e-01, 8.55585e-01, 8.57013e-01,
8.58412e-01, 8.59837e-01, 8.61240e-01, 8.62616e-01, 8.63965e-01,
8.65288e-01, 8.66585e-01, 8.67858e-01, 8.69124e-01, 8.70401e-01,
8.71652e-01, 8.72880e-01, 8.74085e-01, 8.75267e-01, 8.76427e-01,
8.77565e-01, 8.78710e-01, 8.79851e-01, 8.80971e-01, 8.82070e-01,
8.83149e-01, 8.84209e-01, 8.85250e-01, 8.86272e-01, 8.87300e-01,
8.88324e-01, 8.89330e-01, 8.90317e-01, 8.91288e-01, 8.92241e-01,
8.93178e-01, 8.94098e-01, 8.95017e-01, 8.95939e-01, 8.96844e-01,
8.97734e-01, 8.98608e-01, 8.99468e-01, 9.00314e-01, 9.01145e-01,
9.01962e-01]>, attenuation_type='Uniform-Al-Filter', model=True, mid_energies=<Quantity [ 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9,
4. , 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9,
5. , 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9,
6. , 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9,
7. , 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9,
8. , 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9,
9. , 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9,
10. , 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9,
11. , 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9,
12. , 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9,
13. , 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9,
14. , 14.1, 14.2, 14.3, 14.4, 14.5, 14.6, 14.7, 14.8, 14.9,
15. , 15.1, 15.2, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9,
16. , 16.1, 16.2, 16.3, 16.4, 16.5, 16.6, 16.7, 16.8, 16.9,
17. , 17.1, 17.2, 17.3, 17.4, 17.5, 17.6, 17.7, 17.8, 17.9,
18. , 18.1, 18.2, 18.3, 18.4, 18.5, 18.6, 18.7, 18.8, 18.9,
19. , 19.1, 19.2, 19.3, 19.4, 19.5, 19.6, 19.7, 19.8, 19.9,
20. , 20.1, 20.2, 20.3, 20.4, 20.5, 20.6, 20.7, 20.8, 20.9,
21. , 21.1, 21.2, 21.3, 21.4, 21.5, 21.6, 21.7, 21.8, 21.9,
22. , 22.1, 22.2, 22.3, 22.4, 22.5, 22.6, 22.7, 22.8, 22.9,
23. , 23.1, 23.2, 23.3, 23.4, 23.5, 23.6, 23.7, 23.8, 23.9,
24. , 24.1, 24.2, 24.3, 24.4, 24.5, 24.6, 24.7, 24.8, 24.9,
25. , 25.1, 25.2, 25.3, 25.4, 25.5, 25.6, 25.7, 25.8, 25.9,
26. , 26.1, 26.2, 26.3, 26.4, 26.5, 26.6, 26.7, 26.8, 26.9,
27. , 27.1, 27.2, 27.3, 27.4, 27.5, 27.6, 27.7, 27.8, 27.9,
28. , 28.1, 28.2, 28.3, 28.4, 28.5, 28.6, 28.7, 28.8, 28.9,
29. , 29.1, 29.2, 29.3, 29.4, 29.5, 29.6, 29.7, 29.8, 29.9,
30. ] keV>, off_axis_angle=<Quantity nan arcmin>, times=<Quantity nan s>))
We find that the elements field contains all the data-classes that produced the Telescope 2 ARF such as the thermal blanket transmission (dimensionless), the Marshall 10-shell X-7 optics effective areas (cm^2), and the Al (0.015”) attenuator transmissions (dimensionless).
Total running time of the script: (0 minutes 0.032 seconds)