Data model: plPlugMap

General description: This file is a stripped version of the plateHolesSorted file, transformed to an ancient format for the purposes of plate mapping and other onsite operational things. If there are multiple pointings in a plate, there are multiple plPlugMap files (with pointings subsequent to the first labeled "B", "C", etc).

Note that there can be single-pointing plates with the plPlugMapP file labeled "B", since for MARVELS "A" and "B" specify the appropriate gang connector to use for each pointing. For this reason, the pointing_name keyword exists, to specify the mapping between pointing number and name. E.g., the default "A B C D E F" tells you that pointing 1 is A, pointing 2 is B, etc. Single-pointing MARVELS B-side plates have pointing_name set to "B C D E F".

Naming convention: plPlugMapP-YYYYQ.par for a plate with YYYY the plate id, and plPlugMapM-YYYY-ZZZZZ-AAQ.par for a plate with YYYY the plate id, ZZZZZ the MJD of the mapper run (keyword fscanMJD), AA a unique integer over this mapper run for the plate (keyword fscanId), and Q the pointing identifier (A, B, C, ...) for plates with multiple pointings (it is absent for plates with a single pointing, which is most plates).

Approximate size: 100 Kbytes.

File type: FTCL parameter file

Written by products: platedesign

Required header keywords (for plPlugMapP and plPlugMapM files):

  • All header keywords from plateHoles
  • haMin: design hour angle (always same as the ha value for the pointing that this plPlugMap corresponds to)
  • haMax: same as haMin
  • Extra required header keywords added by mapper (for the plPlugMapM version of these files):

    Enumerated types (note that labels below are not appropriate for SDSS-3, but were kept to be compatible with ops software):

    # Type of plate hole
    typedef enum {
        OBJECT,          # Object
        COHERENT_SKY,    # Coherent sky bundle
        GUIDE,           # Coherent guide bundle
        LIGHT_TRAP,      # Light trap
        QUALITY,         # Drilling quality assurance
        ALIGNMENT        # Plate alignment hole
    } HOLETYPE;
    
    
    # Why completeTile (or tile) assigned this target to the tile
    typedef enum {
        GALAXY,
        QSO,
        STAR_BHB,
        STAR_CARBON,
        STAR_BROWN_DWARF,
        STAR_SUB_DWARF,
        STAR_CATY_VAR,
        STAR_RED_DWARF,
        STAR_WHITE_DWARF,
        REDDEN_STD,
        SPECTROPHOTO_STD,
        HOT_STD,
        ROSAT_A,
        ROSAT_B,
        ROSAT_C,
        ROSAT_D,
        SERENDIPITY_BLUE,
        SERENDIPITY_FIRST,
        SERENDIPITY_RED,
        SERENDIPITY_DISTANT,
        SERENDIPITY_MANUAL,
        QA,              # Quality assurance (assigned to more than one tile)
        SKY,             # Blank sky
        NA,              # Not applicable (not an OBJECT hole)
        STAR_PN
    } OBJTYPE;
    

    Columns:

    
    typedef struct {
        int       objId[5];       # Unique object id (run,rerun,camCol,field,id)
        HOLETYPE  holeType;	      # Hole type
        double    ra;             # J2000 RA (deg, -999 for QUALITY holes)
        double    dec;            # J2000 DEC (deg, -999 for QUALITY holes)
        float     mag[5];         # Fiber magnitude (u, g, r, i, z; OBJECT and
                                  # and GUIDE holes only)
        float     starL;          # r' likelihood object is star (0-1,
                                    OBJECT holes only)
        float     expL;           # r' likelihood object is exponential disk (0-1,
                                    OBJECT holes only)
        float     deVaucL;        # r' likelihood object is deVaucouleurs profile
                                    (0-1, OBJECT holes only)
        OBJTYPE   objType;        # Type of object (OBJECT holes only)
        double    xFocal;         # Hole x-axis position in focal plane (mm)
        double    yFocal;         # Hole y-axis position in focal plane (mm)
        int       spectrographId; # Spectrograph ID of plugged fiber (1,2, OBJECT
                                  # holes only)
        int       fiberId;        # Fiber ID of plugged fiber (for OBJECT holes,
                                  # 1 - 320, -1 if not mapped; for GUIDE holes,
                                  # 1-11 [small guide bundles only]) ids <0 for
                                  # overlay in plugMapP file only
        int       throughput;     # Fiber throughput (0 - 65535 , 0=no light,
                                  # OBJECT holes only)
        int       primTarget;     # Primary target flags
        int       secTarget;      # Secondary target flags
    } PLUGMAPOBJ;