-
Notifications
You must be signed in to change notification settings - Fork 310
[DRAFT] New spectral type packing
Hleb Valoshka edited this page Feb 13, 2021
·
3 revisions
Proposed format inherits the current layout:
F | E | D | C | B | A | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Star type | Spectral type | Subclass | Luminosity class |
Star type can be:
enum StarType
{
NormalStar = 0, // Main sequence, brown dwarf
DegenerateStar = 1, // White dwarf, neutron star, black hole
WolfRayetStar = 2, // Wolf–Rayet star
CarbonStar = 3, // Carbon star
ExoticStar = 4, // Quark star, black dwarf
};
Spectral type can be:
enum SpectralClass
{
Spectral_Unknown = 0,
// NormalStar
Spectral_O = 1,
Spectral_B = 2,
Spectral_A = 3,
Spectral_F = 4,
Spectral_G = 5,
Spectral_K = 6,
Spectral_M = 7,
Spectral_L = 8,
Spectral_T = 9,
Spectral_Y = 10,
// DegenerateStar
Spectral_DA = 1, // white dwarf A (Balmer lines, no He I or metals)
Spectral_DB = 2, // white dwarf B (He I lines, no H or metals)
Spectral_DC = 3, // white dwarf C, continuous spectrum
Spectral_DO = 4, // white dwarf O, He II strong, He I or H
Spectral_DQ = 5, // white dwarf Q, carbon features
Spectral_DZ = 7, // white dwarf Z, metal lines only, no H or He
Spectral_DX = 8, // spectral lines are insufficiently clear to classify
// Wolf–Rayet stars
Spectral_WN = 1,
Spectral_WNh = 2,
Spectral_WC = 3,
Spectral_WO = 4,
// Carbon stars
Spectral_C = 1,
Spectral_S = 2,
Spectral_MS = 3,
Spectral_SC = 4,
};
Subclass is a number from 0 to 14. Value 15 means unknown subclass.
Luminosity class is used if StarType is NormalStar. In this case it can be:
enum LuminosityClass
{
Lum_Unknown = 0,
Lum_Ia0 = 1, // Ia-0 hypergiants or extremely luminous supergiants
Lum_Ia = 2, // luminous supergiants
Lum_Iab = 3, // supergiants
Lum_Ib = 4, // less luminous supergiants
Lum_II = 5, // bright giants
Lum_III = 6, // giants
Lum_IV = 7, // subgiants
Lum_Va = 8, // extremely luminous dwarfs
Lum_Vab = 9, // luminous dwarfs
Lum_Vb = 10, // normal dwarfs
Lum_Vz = 11, // lower main sequence dwarfs
Lum_VI = 12, // sub main sequence dwarfs
/* Lum_VII = 13, // white dwarfs */
};
If StarType is DegenerateStar then this field is used to distinguish different degenerate star types:
enum DegenerateStarType
{
WhiteDwarf = 1,
NeutronStar = 2,
BlackHole = 3,
};