Skip to content
Snippets Groups Projects
tile.ts 1023 B
Newer Older
export class Tile {
  area: number;
  custom1: string;
  custom2: string;
  custom3: string;
  custom4: string;
  custom5: string;
  decMax: number;
  decMin: number;
  epoch: number;
  factor: number;
  firstEpochHalf: boolean;
  id: number;
  name: string;
  raMax: number;
  raMin: number;
  tier: number;
  scans: Array<object>;

  static SORT_COLUMNS = ['id', 'name', 'status'];
}

export class PhaseCenterDeg {
  dec: number;
  ra: number;
}

export class TileDefinition {
  coarseCenterFrequenciesMHz: Array<number>;
  phaseCentersDeg: Array<PhaseCenterDeg>;
}

export class ProgressSummary {
  epoch: number;
  observed: number;
  calibrated: number;
  imaged: number;

  // first half epochs have 451 tiles, second half 448
  get tiles(): number {
    return this.epoch.toString().split('').pop() === '1' ? 451 : 448;
  }

  get numObserved(): number {
    return Math.round(this.tiles * (this.observed / 100))
  }

  get numCalibrated(): number {
    return Math.round(this.tiles * (this.calibrated / 100))
  }