Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1"""Instance Catalog""" 

2import numpy 

3from lsst.sims.catalogs.definitions import InstanceCatalog 

4from lsst.sims.utils import arcsecFromRadians 

5from lsst.sims.catUtils.mixins import AstrometryGalaxies, PhotometryGalaxies, PhotometryStars 

6 

7__all__ = ["RefCatalogGalaxyBase", "GalaxyPhotometry", "RefCatalogStarBase"] 

8 

9class RefCatalogGalaxyBase(InstanceCatalog, AstrometryGalaxies, PhotometryGalaxies): 

10 comment_char = '' 

11 catalog_type = 'ref_catalog_galaxy' 

12 column_outputs = ['uniqueId', 'objId', 'galid', 'meanRaJ2000', 'meanDecJ2000', 'redshift', 

13 'majorAxisDisk', 'minorAxisDisk', 'positionAngleDisk', 

14 'majorAxisBulge', 'minorAxisBulge', 'positionAngleBulge', 

15 'DiskLSSTu', 'DiskLSSTg', 'DiskLSSTr', 'DiskLSSTi', 'DiskLSSTz', 'DiskLSSTy', 

16 'BulgeLSSTu', 'BulgeLSSTg', 'BulgeLSSTr', 'BulgeLSSTi', 'BulgeLSSTz', 'BulgeLSSTy', 

17 'u_ab', 'g_ab', 'r_ab', 'i_ab', 'z_ab', 'y_ab'] 

18 default_formats = {'S':'%s', 'f':'%.8f', 'i':'%i'} 

19 transformations = {'meanRaJ2000':numpy.degrees, 'meanDecJ2000':numpy.degrees, 

20 'majorAxisDisk':arcsecFromRadians, 'minorAxisDisk':arcsecFromRadians, 

21 'positionAngleDisk':numpy.degrees, 

22 'majorAxisBulge':arcsecFromRadians, 'minorAxisBulge':arcsecFromRadians, 

23 'positionAngleBulge':numpy.degrees} 

24 

25 def get_objectId(self): 

26 return self.column_by_name(self.refIdCol) 

27 

28 def get_meanRaJ2000(self): 

29 return self.column_by_name('raJ2000') 

30 

31 def get_meanDecJ2000(self): 

32 return self.column_by_name('decJ2000') 

33 

34class GalaxyPhotometry(RefCatalogGalaxyBase): 

35 catalog_type = 'galaxy_photometry_cat' 

36 column_outputs = ['uniqueId', 'objId', 'galid', 'meanRaJ2000', 'meanDecJ2000', 'redshift', 

37 'majorAxisDisk', 'minorAxisDisk', 'positionAngleDisk', 

38 'majorAxisBulge', 'minorAxisBulge', 'positionAngleBulge', 

39 'internalAvBulge', 'internalAvDisk', 

40 'lsst_u', 'lsst_g', 'lsst_r', 'lsst_i', 'lsst_z', 'lsst_y', 

41 'uBulge', 'gBulge', 'rBulge', 'iBulge', 'zBulge', 'yBulge', 

42 'uDisk', 'gDisk', 'rDisk', 'iDisk', 'zDisk', 'yDisk', 

43 'uAgn', 'gAgn', 'rAgn', 'iAgn', 'zAgn', 'yAgn', 

44 'u_ab', 'g_ab', 'r_ab', 'i_ab', 'z_ab', 'y_ab'] 

45 

46 transformations = {'majorAxisDisk':arcsecFromRadians, 'minorAxisDisk':arcsecFromRadians, 

47 'majorAxisBulge':arcsecFromRadians, 'minorAxisBulge':arcsecFromRadians} 

48 

49class RefCatalogStarBase(InstanceCatalog, AstrometryGalaxies, PhotometryGalaxies): 

50 comment_char = '' 

51 catalog_type = 'ref_catalog_star' 

52 column_outputs = ['uniqueId', 'objId', 'id', 'meanRaJ2000', 'meanDecJ2000', 

53 'umag', 'gmag', 'rmag', 'imag', 'zmag', 'ymag'] 

54 default_formats = {'S':'%s', 'f':'%.8f', 'i':'%i'} 

55 transformations = {'meanRaJ2000':numpy.degrees, 'meanDecJ2000':numpy.degrees} 

56 

57 def get_objectId(self): 

58 return self.column_by_name(self.refIdCol) 

59 

60 def get_meanRaJ2000(self): 

61 return self.column_by_name('raJ2000') 

62 

63 def get_meanDecJ2000(self): 

64 return self.column_by_name('decJ2000')