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