1 | #ifndef FACT_HeadersGCN
|
---|
2 | #define FACT_HeadersGCN
|
---|
3 |
|
---|
4 | namespace GCN
|
---|
5 | {
|
---|
6 | namespace State
|
---|
7 | {
|
---|
8 | enum states_t
|
---|
9 | {
|
---|
10 | kDisconnected = 1,
|
---|
11 | kConnected = 2,
|
---|
12 | kValid = 3,
|
---|
13 | };
|
---|
14 |
|
---|
15 | }
|
---|
16 |
|
---|
17 | struct PaketType_t
|
---|
18 | {
|
---|
19 | int16_t type;
|
---|
20 | std::string instrument;
|
---|
21 | std::string name;
|
---|
22 | std::string description;
|
---|
23 | };
|
---|
24 |
|
---|
25 | // probably from https://gcn.gsfc.nasa.gov/filtering.html
|
---|
26 | static const PaketType_t kTypes[] =
|
---|
27 | { // inactive, ACTIVE[1], T-Only[-], in-work[+], private[p]
|
---|
28 | { 1, /* */ "BATSE", "GRB_COORDS", "BATSE Trigger coords (the first GCN Notice Type)" },
|
---|
29 | { 2, /* 1 */ "", "TEST_COORDS", "Test coords" },
|
---|
30 | { 3, /* 1 */ "", "IM_ALIVE", "I'm alive socket packet every 60 sec" },
|
---|
31 | { 4, /* 1 */ "", "KILL_SOCKET", "Kill a socket connection" },
|
---|
32 | { 11, /* */ "", "MAXBC", "MAXC1/BC" },
|
---|
33 | { 21, /* */ "", "BRAD_COORDS", "Special Test coords packet for BRADFORD" },
|
---|
34 | { 22, /* */ "BATSE", "GRB_FINAL", "Final BATSE coords" },
|
---|
35 | { 24, /* */ "HUNTS", "HUNTS_SRC", "Huntsville LOCBURST GRB coords (HitL)" },
|
---|
36 | { 25, /* */ "ALEXIS", "ALEXIS_SRC", "ALEXIS Transient coords" },
|
---|
37 | { 26, /* */ "PCA", "XTE_PCA_ALERT", "XTE-PCA ToO Observation Scheduled" },
|
---|
38 | { 27, /* */ "PCA", "XTE_PCA_SRC", "XTE-PCA GRB coords" },
|
---|
39 | { 28, /* */ "ASM", "XTE_ASM_ALERT", "XTE-ASM Alert" },
|
---|
40 | { 29, /* */ "ASM", "XTE_ASM_SRC", "XTE-ASM GRB coords" },
|
---|
41 | { 30, /* */ "COMPTEL", "COMPTEL_SRC", "COMPTEL GRB coords" },
|
---|
42 | { 31, /* */ "IPN", "IPN_RAW", "IPN_RAW GRB annulus coords (position is center of Annulus)" },
|
---|
43 | { 32, /* */ "IPN", "IPN_SEG", "IPN+POS GRB annulus seg (kind of a cheat to allow error filter)" },
|
---|
44 | { 33, /* */ "SAX", "SAX_WFC_ALERT", "SAX-WFC Alert" },
|
---|
45 | { 34, /* */ "SAX", "SAX_WFC_SRC", "SAX-WFC GRB coords" },
|
---|
46 | { 35, /* */ "SAX", "SAX_NFI_ALERT", "SAX-NFI Alert" },
|
---|
47 | { 36, /* */ "SAX", "SAX_NFI_SRC", "SAX-NFI GRB coords" },
|
---|
48 | { 37, /* */ "ASM", "XTE_ASM_TRANS", "XTE-ASM TRANSIENT coords" },
|
---|
49 | { 38, /* 1 */ "", "spare38", "(spare; used for s/w development testing)" },
|
---|
50 | { 39, /* 1 */ "IPN", "IPN_POS", "IPN Position coords" },
|
---|
51 | { 40, /* */ "HETE", "HETE_ALERT_SRC", "HETE Trigger Alert" },
|
---|
52 | { 41, /* */ "HETE", "HETE_UPDATE_SRC", "HETE Update position (multiples)" },
|
---|
53 | { 42, /* */ "HETE", "HETE_FINAL_SRC", "HETE Last/Final position" },
|
---|
54 | { 43, /* */ "HETE", "HETE_GNDANA_SRC", "HETE position from Ground Analysis (HitL)" },
|
---|
55 | { 44, /* 1 */ "HETE", "HETE_TEST", "HETE TEST" },
|
---|
56 | { 45, /* 1 */ "SOURCE", "GRB_CNTRPART", "GRB Counterpart coordinates" },
|
---|
57 | { 46, /* 1 */ "SWIFT", "SWIFT_TOO_FOM", "SWIFT TOO-form of the FOM" },
|
---|
58 | { 47, /* 1 */ "SWIFT", "SWIFT_TOO_SC_SLEW", "SWIFT TOO-form of the SC_SLEW" },
|
---|
59 | { 48, /* - */ "", "DOW_TOD", "Day-of-Week Time-of-Day end2end testing" },
|
---|
60 | { 50, /* 1 */ "", "spare50", "(spare; not yet assigned)" },
|
---|
61 | { 51, /* 1 */ "INTEGRAL", "INTEGRAL_POINTDIR", "INTEGRAL Pointing Direction" },
|
---|
62 | { 52, /* 1 */ "INTEGRAL", "INTEGRAL_SPIACS", "INTEGRAL SPIACS" },
|
---|
63 | { 53, /* 1 */ "INTEGRAL", "INTEGRAL_WAKEUP", "INTEGRAL Wakeup" },
|
---|
64 | { 54, /* 1 */ "INTEGRAL", "INTEGRAL_REFINED", "INTEGRAL Refined" },
|
---|
65 | { 55, /* 1 */ "INTEGRAL", "INTEGRAL_OFFLINE", "INTEGRAL Offline (HitL)" },
|
---|
66 | { 56, /* 1 */ "INTEGRAL", "INTEGRAL_WEAK", "INTEGRAL Weak" },
|
---|
67 | { 57, /* + */ "AAVSO", "AAVSO", "AAVSO" },
|
---|
68 | { 58, /* */ "MILAGRO", "MILAGRO_POS", "MILAGRO Position" },
|
---|
69 | { 59, /* 1 */ "", "KONUS_LC", "KONUS Lightcurve" },
|
---|
70 | { 60, /* 1 */ "BAT", "SWIFT_BAT_GRB_ALERT", "BAT ALERT. Never transmitted by the s/c." },
|
---|
71 | { 61, /* 1 */ "BAT", "SWIFT_BAT_GRB_POS_ACK", "BAT GRB Position Acknowledge" },
|
---|
72 | { 62, /* 1 */ "BAT", "SWIFT_BAT_GRB_POS_NACK", "BAT GRB Position NOT_Ack (pos not found)." },
|
---|
73 | { 63, /* 1 */ "BAT", "SWIFT_BAT_GRB_LC", "BAT GRB Lightcurve" },
|
---|
74 | { 64, /* - */ "BAT", "SWIFT_BAT_SCALEDMAP", "BAT Scaled Map" },
|
---|
75 | { 65, /* 1 */ "SWIFT", "SWIFT_FOM_OBS", "BAT FOM to Observe (FOM_2OBSAT)" },
|
---|
76 | { 66, /* 1 */ "SWIFT", "SWIFT_SC_SLEW", "BAT S/C to Slew (FOSC_2OBSAT)" },
|
---|
77 | { 67, /* 1 */ "XRT", "SWIFT_XRT_POSITION", "XRT Position" },
|
---|
78 | { 68, /* - */ "XRT", "SWIFT_XRT_SPECTRUM", "XRT Spectrum" },
|
---|
79 | { 69, /* 1 */ "XRT", "SWIFT_XRT_IMAGE", "XRT Image (aka postage stamp)" },
|
---|
80 | { 70, /* - */ "XRT", "SWIFT_XRT_LC", "XRT Lightcurve (aka Prompt)" },
|
---|
81 | { 71, /* 1 */ "XRT", "SWIFT_XRT_CENTROID", "XRT Centroid Error (Pos Nack)" },
|
---|
82 | { 72, /* 1 */ "UVOT", "SWIFT_UVOT_DBURST", "UVOT DarkBurst (aka Neighbor, aka GeNie)" },
|
---|
83 | { 73, /* 1 */ "UVOT", "SWIFT_UVOT_FCHART", "UVOT Finding Chart" },
|
---|
84 | { 76, /* + */ "BAT", "SWIFT_BAT_GRB_LC_PROC", "BAT GRB Lightcurve processed" },
|
---|
85 | { 77, /* - */ "XRT", "SWIFT_XRT_SPECTRUM_PROC", "XRT Spectrum processed" },
|
---|
86 | { 78, /* 1 */ "XRT", "SWIFT_XRT_IMAGE_PROC", "XRT Image processed" },
|
---|
87 | { 79, /* 1 */ "UVOT", "SWIFT_UVOT_DBURST_PROC", "UVOT DarkBurst proc mesg (aka Neighbor)" },
|
---|
88 | { 80, /* 1 */ "UVOT", "SWIFT_UVOT_FCHART_PROC", "UVOT Finding Chart processed" },
|
---|
89 | { 81, /* 1 */ "UVOT", "SWIFT_UVOT_POS", "UVOT Position" },
|
---|
90 | { 82, /* 1 */ "BAT", "SWIFT_BAT_GRB_POS_TEST", "BAT GRB Position Test" },
|
---|
91 | { 83, /* 1 */ "SWIFT", "SWIFT_POINTDIR", "Pointing Direction" },
|
---|
92 | { 84, /* 1 */ "BAT", "SWIFT_BAT_TRANS", "BAT Hard X-ray Transient coords" },
|
---|
93 | { 85, /* - */ "XRT", "SWIFT_XRT_THRESHPIX", "XRT Thresholded-Pixel-list" },
|
---|
94 | { 86, /* - */ "XRT", "SWIFT_XRT_THRESHPIX_PROC", "XRT Thresholded-Pixel-list processed" },
|
---|
95 | { 87, /* - */ "XRT", "SWIFT_XRT_SPER", "XRT Single-Pixel-Event-Report" },
|
---|
96 | { 88, /* - */ "XRT", "SWIFT_XRT_SPER_PROC", "XRT Single-Pixel-Event-Report processed" },
|
---|
97 | { 89, /* 1 */ "UVOT", "SWIFT_UVOT_POS_NACK", "UVOT Position Nack (contains BATs/XRTs position)" },
|
---|
98 | { 90, /* - */ "BAT", "SWIFT_BAT_ALARM_SHORT", "SWIFT Appendix_C non-public (Team Ops)" },
|
---|
99 | { 91, /* - */ "BAT", "SWIFT_BAT_ALARM_LONG", "SWIFT Appendix_C non-public (Team Ops)" },
|
---|
100 | { 92, /* - */ "UVOT", "SWIFT_UVOT_EMERGENCY", "SWIFT Appendix_C non-public (Team Ops)" },
|
---|
101 | { 93, /* - */ "XRT", "SWIFT_XRT_EMERGENCY", "SWIFT Appendix_C non-public (Team Ops)" },
|
---|
102 | { 94, /* - */ "SWIFT", "SWIFT_FOM_PPT_ARG_ERR", "SWIFT Appendix_C non-public (Team Ops)" },
|
---|
103 | { 95, /* - */ "SWIFT", "SWIFT_FOM_SAFE_POINT", "SWIFT Appendix_C non-public (Team Ops)" },
|
---|
104 | { 96, /* - */ "SWIFT", "SWIFT_FOM_SLEW_ABORT", "SWIFT Appendix_C non-public (Team Ops)" },
|
---|
105 | { 97, /* 1 */ "BAT", "SWIFT_BAT_QL_POS", "BAT Quick Look Position (1-6 sec sooner)" },
|
---|
106 | { 98, /* 1 */ "BAT", "SWIFT_BAT_SUB_THRESHOLD", "BAT Sub-Threshold Position" },
|
---|
107 | { 99, /* 1 */ "BAT", "SWIFT_BAT_SLEW_POS", "BAT Burst/Trans Pos during slewing" },
|
---|
108 | { 100, /* 1 */ "AGILE", "AGILE_GRB_WAKEUP", "AGILE GRB Wake-Up Position" },
|
---|
109 | { 101, /* 1 */ "AGILE", "AGILE_GRB_GROUND", "AGILE GRB Prompt Position" },
|
---|
110 | { 102, /* 1 */ "AGILE", "AGILE_GRB_REFINED", "AGILE GRB Refined Position" },
|
---|
111 | { 103, /* 1 */ "SWIFT", "SWIFT_ACTUAL_POINTDIR", "Actual Pointing Direction"},
|
---|
112 | { 107, /* 1 */ "AGILE", "AGILE_POINTDIR", "AGILE Pointing Direction" },
|
---|
113 | { 108, /* + */ "AGILE", "AGILE_TRANS", "AGILE Transient Position" },
|
---|
114 | { 109, /* 1 */ "AGILE", "AGILE_GRB_POS_TEST", "AGILE GRB Position Test" },
|
---|
115 | { 110, /* 1 */ "GBM", "FERMI_GBM_ALERT", "GBM Alert" },
|
---|
116 | { 111, /* 1 */ "GBM", "FERMI_GBM_FLT_POS", "GBM Flightt-calculated Position" },
|
---|
117 | { 112, /* 1 */ "GBM", "FERMI_GBM_GND_POS", "GBM Ground-calculated Position" },
|
---|
118 | { 113, /* + */ "GBM", "FERMI_GBM_LC", "GBM Lightcurve" },
|
---|
119 | { 114, /* - */ "GBM", "FERMI_GBM_GND_INTERNAL", "GBM Gnd-calc Internal (beyond 112)" },
|
---|
120 | { 115, /* 1 */ "GBM", "FERMI_GBM_FIN_POS", "GBM Final Position HitL or Offline" },
|
---|
121 | { 118, /* + */ "GBM", "FERMI_GBM_TRANS", "GBM Transient Position" },
|
---|
122 | { 119, /* 1 */ "GBM", "FERMI_GBM_POS_TEST", "GBM Position Test" },
|
---|
123 | { 120, /* - */ "LAT", "FERMI_LAT_POS_INI", "LAT Position Initial" },
|
---|
124 | { 121, /* 1 */ "LAT", "FERMI_LAT_POS_UPD", "LAT Position Update" },
|
---|
125 | { 122, /* - */ "LAT", "FERMI_LAT_POS_DIAG", "LAT Position Diagnostic" },
|
---|
126 | { 123, /* + */ "LAT", "FERMI_LAT_TRANS", "LAT Transient Position (previously unknown source)" },
|
---|
127 | { 124, /* 1 */ "LAT", "FERMI_LAT_POS_TEST", "LAT Position Test (like UPD only)" },
|
---|
128 | { 125, /* + */ "LAT", "FERMI_LAT_MONITOR", "LAT Monitor (eg Blazar, AGN, etc)" },
|
---|
129 | { 126, /* 1 */ "FERMI", "FERMI_SC_SLEW", "Spcecraft Slew" },
|
---|
130 | { 127, /* 1 */ "LAT", "FERMI_LAT_GND", "LAT Ground-analysis refined Pos" },
|
---|
131 | { 128, /* + */ "LAT", "FERMI_LAT_OFFLINE", "LAT Ground-analysis Trigger Pos, Offline" },
|
---|
132 | { 129, /* 1 */ "FERMI", "FERMI_POINTDIR", "Pointing Direction" },
|
---|
133 | { 130, /* 1 */ "", "SIMBADNED", "SIMBAD/NED Search Results" },
|
---|
134 | { 131, /* + */ "PIOTS", "PIOTS_OT_POS", "Pi-Of-The-Sky Optical Transient Pos" },
|
---|
135 | { 132, /* + */ "KAIT", "KAIT_SN", "KAIT SuperNova" },
|
---|
136 | { 133, /* 1 */ "KAIT", "SWIFT_BAT_MONITOR", "Swift BAT Transient Monitor LC page event" },
|
---|
137 | { 134, /* 1 */ "MAXI", "MAXI_UNKNOWN", "MAXI previously Unknown source transient (GRBs or other x-ray trans)" },
|
---|
138 | { 135, /* 1 */ "MAXI", "MAXI_KNOWN", "MAXI previously Known source transient (already in some catalog)" },
|
---|
139 | { 136, /* 1 */ "MAXI", "MAXI_TEST", "MAXI Test notice (for the Unknown type)" },
|
---|
140 | { 137, /* + */ "OGLE", "OGLE", "OGLE lensing event (Inten, yes; but not Signif)" },
|
---|
141 | { 138, /* + */ "CBAT", "CBAT", "CBAT" },
|
---|
142 | { 139, /* + */ "MOA", "MOA", "MOA lensing event (turn off inten for now!!!)" },
|
---|
143 | { 140, /* 1 */ "BAT", "SWIFT_BAT_SUBSUB", "BAT SubSubThreshold trigger" },
|
---|
144 | { 141, /* 1 */ "BAT", "SWIFT_BAT_KNOWN_SRC", "Known source detected in ach BAT image" },
|
---|
145 | { 142, /* 1 */ "", "VOE_1.1_IM_ALIVE", "I'm alive socket packet sent every 60 sec" },
|
---|
146 | { 143, /* 1 */ "", "VOE_2.0_IM_ALIVE", "I'm alive socket packet sent every 60 sec" },
|
---|
147 | { 145, /* + */ "", "COINCIDENCE", "Temporal/Spatial coinc between mission-instruments" },
|
---|
148 | { 148, /* 1 */ "SUZAKU", "SUZAKU_LC", "SUZAKU-WAM Lightcurve" },
|
---|
149 | { 149, /* 1 */ "SNEWS", "SNEWS", "SNEWS Positions" },
|
---|
150 | { 150, /* p */ "LVC", "LVC_PRELIM", "LIGO/Virgo trigger alert (no position information)" },
|
---|
151 | { 151, /* p */ "LVC", "LVC_INITIAL", "LIGO/Virgo initial position (skymap)" },
|
---|
152 | { 152, /* p */ "LVC", "LVC_UPDATE", "LIGO/Virgo updates position (skymap)" },
|
---|
153 | { 153, /* + */ "LVC", "LVC_TEST", "LIGO/Virgo test position (skymap)" },
|
---|
154 | { 154, /* p */ "LVC", "LVC_CNTRPART", "LVC multi-messenger Counterpart coordinates" },
|
---|
155 | { 157, /* 1 */ "AMON", "AMON_ICECUBE_COINC", "AMON ICECUBE temporal/spatial coincidence events" },
|
---|
156 | { 158, /* 1 */ "AMON", "AMON_ICECUBE_HESE", "AMON ICECUBE High Energy Single (neutrino) Event" },
|
---|
157 | // received but missing
|
---|
158 | { 160, /* 1 */ "CALET", "CALET_GBM_FLT_LC", "CALET-GBM Flight-produced Lightcurve" },
|
---|
159 | { 161, /* 1 */ "CALET", "CALET_GBM_GND_LC", "CALET-GBM Ground-produced Lightcurve" },
|
---|
160 | { 169, /* p */ "GWHEN", "GWHEN_COINC", "Coincidence between LVC and ICECUBE High Energy Neutrino event" },
|
---|
161 | { 169, /* 1 */ "AMON", "AMON_ICECUBE_EHE", "AMON ICECUBE Extreme High Energy (neutrino) event" },
|
---|
162 | { -1, "", "", "Unknown packet type" },
|
---|
163 | };
|
---|
164 | }
|
---|
165 |
|
---|
166 | #endif
|
---|