haslamBackgroundRadiation

Variables

const Eigen::Matrix3d dcm_GN = (Eigen::Matrix3d() << -0.054875539390, -0.873437104725, -0.483834991775, +0.494109453633, -0.444829594298, +0.746982248696, -0.867666135681, -0.198076389622, +0.455983794523).finished()

J2000/ICRS to Galactic IAU (1976) rotation matrix.

Direction cosine matrix for transforming vectors from J2000/ICRS inertial frame to Galactic coordinates. Based on https://doi.org/10.1051/0004-6361/201014961

class HaslamMap
#include <haslamBackgroundRadiation.h>

Singleton class for Haslam 408 MHz all-sky background radiation map.

Reads the Haslam 408 MHz all-sky map from a HEALPix FITS file and provides brightness temperature lookups for given celestial coordinates.

Public Functions

bool initialize()

Initialize the map by loading FITS data.

Returns:

True if initialization successful, false otherwise

double getBrightnessTemperature(Eigen::Vector3d n_A_N, double beamRadius) const

Beam-averaged brightness temperature at 408 MHz.

Parameters:
  • n_A_N – Antenna boresight direction in inertial {N} frame (normalized)

  • beamRadius – Circular beam half-angle [rad]

Returns:

Average brightness temperature over beam area [K]

double scaleToFrequency(double T_408, double targetFreq_Hz) const

Scale brightness temperature from 408 MHz to target frequency.

Parameters:
  • T_408 – Temperature at 408 MHz [K]

  • targetFreq_Hz – Target frequency [Hz]

Returns:

Scaled temperature [K]

inline bool isInitialized() const

Check if map data has been loaded.

Returns:

True if initialized, false otherwise

inline long getNside() const

Get HEALPix NSIDE parameter.

Returns:

NSIDE value

inline long getNpix() const

Get total number of HEALPix pixels.

Returns:

Number of pixels

void configureBrightnessFile(const std::string &file)

Method to configure the background temperature data file path

Parameters:

file – background temperature data file full path

HaslamMap(const HaslamMap&) = delete

Deleted copy constructor.

HaslamMap &operator=(const HaslamMap&) = delete

Deleted copy assignment.

Public Static Functions

static HaslamMap &getInstance()

Get singleton instance of HaslamMap.

Returns:

Reference to the singleton instance

Private Functions

HaslamMap()

Private constructor for singleton pattern.

~HaslamMap() = default

Default destructor.

bool loadHaslamMap()

Load Haslam map data from FITS file.

Returns:

True if loading successful, false otherwise

long ang2pix_ring(double theta, double phi) const

Convert spherical angles to HEALPix ring-scheme pixel index.

Parameters:
  • theta – Colatitude angle [rad]

  • phi – Longitude angle [rad]

Returns:

Pixel index

void pix2ang_ring(long ipix, double &theta, double &phi) const

Convert HEALPix pixel index to spherical angles.

Parameters:
  • ipix – Pixel index

  • theta – Output colatitude angle [rad]

  • phi – Output longitude angle [rad]

std::vector<long> query_disc(double theta0, double phi0, double radius) const

Query all pixels within a disc on the sphere.

Parameters:
  • theta0 – Disc center colatitude [rad]

  • phi0 – Disc center longitude [rad]

  • radius – Disc radius [rad]

Returns:

Vector of pixel indices within the disc

double getPixelTemperature(long ipix) const

Get brightness temperature for a single pixel.

Parameters:

ipix – Pixel index

Returns:

Brightness temperature [K]

Private Members

BSKLogger bskLogger

BSK Logging.

std::vector<float> brightnessTemperatures

[K] Brightness temperature data

long nside

HEALPix NSIDE parameter.

long npix

Total number of pixels.

bool initialized

Map loaded flag.

double beamSize_arcmin

[arcmin] Original map beam size

std::string filepath

Private Static Attributes

static double spectralIndex = -2.7

Galactic synchrotron spectral index.

static double f_408 = 408e6

[Hz] Reference frequency

static double angularRes = 56.0

[arcmin] Map angular resolution

static int HEALPIX_BASE_PIXELS = 12

Number of base-resolution HEALPix pixels.