|
Last change
on this file since 1118 was 341, checked in by petry, 26 years ago |
|
First version of the Starfield Generator in this repository.
Fully functional version using the SKY2000 star catalog.
|
|
File size:
1.6 KB
|
| Line | |
|---|
| 1 | #ifndef _STAR_H_
|
|---|
| 2 | #define _STAR_H_
|
|---|
| 3 |
|
|---|
| 4 |
|
|---|
| 5 | #include <math.h>
|
|---|
| 6 | #include <string.h>
|
|---|
| 7 | #include <stdio.h>
|
|---|
| 8 | #include <iostream.h>
|
|---|
| 9 | #include <fstream.h>
|
|---|
| 10 | #include "jcmacros.h"
|
|---|
| 11 |
|
|---|
| 12 | // Speed of light in m/s and Planck's constant in joules/s definition
|
|---|
| 13 |
|
|---|
| 14 | #ifndef LIGHTSPEED_mps
|
|---|
| 15 | #define LIGHTSPEED_mps 3.000E8
|
|---|
| 16 | #endif
|
|---|
| 17 |
|
|---|
| 18 | #ifndef PLANCK_si
|
|---|
| 19 | #define PLANCK_si 6.626E-34
|
|---|
| 20 | #endif
|
|---|
| 21 |
|
|---|
| 22 | #ifndef PI
|
|---|
| 23 | #define PI 3.1415927
|
|---|
| 24 | #endif
|
|---|
| 25 |
|
|---|
| 26 |
|
|---|
| 27 | // Wavelengths range for U, B and V magnitude
|
|---|
| 28 |
|
|---|
| 29 | #ifndef ULMIN_nm
|
|---|
| 30 | #define ULMIN_nm 290.0 // the true limit is approx. 310 nm, but we extend this
|
|---|
| 31 | #endif // in order to cover the complete PMT sensitivity
|
|---|
| 32 |
|
|---|
| 33 | #ifndef ULMAX_nm
|
|---|
| 34 | #define ULMAX_nm 390.0
|
|---|
| 35 | #endif
|
|---|
| 36 |
|
|---|
| 37 | #ifndef BLMIN_nm
|
|---|
| 38 | #define BLMIN_nm 390.0
|
|---|
| 39 | #endif
|
|---|
| 40 |
|
|---|
| 41 | #ifndef BLMAX_nm
|
|---|
| 42 | #define BLMAX_nm 500.0
|
|---|
| 43 | #endif
|
|---|
| 44 |
|
|---|
| 45 | #ifndef VLMIN_nm
|
|---|
| 46 | #define VLMIN_nm 500.0
|
|---|
| 47 | #endif
|
|---|
| 48 |
|
|---|
| 49 | #ifndef VLMAX_nm
|
|---|
| 50 | #define VLMAX_nm 590.0
|
|---|
| 51 | #endif
|
|---|
| 52 |
|
|---|
| 53 | #ifndef RLMIN_nm
|
|---|
| 54 | #define RLMIN_nm 590.0
|
|---|
| 55 | #endif
|
|---|
| 56 |
|
|---|
| 57 | #ifndef RLMAX_nm
|
|---|
| 58 | #define RLMAX_nm 800.0
|
|---|
| 59 | #endif
|
|---|
| 60 |
|
|---|
| 61 | #ifndef SKY2000LINELENGTH
|
|---|
| 62 | #define SKY2000LINELENGTH 520
|
|---|
| 63 | #endif
|
|---|
| 64 |
|
|---|
| 65 |
|
|---|
| 66 |
|
|---|
| 67 | class star{
|
|---|
| 68 |
|
|---|
| 69 | public:
|
|---|
| 70 |
|
|---|
| 71 | int icatnum;
|
|---|
| 72 | float ra_h, dec_deg, umag, bmag, vmag, rmag;
|
|---|
| 73 | float u, v;
|
|---|
| 74 | float ra_rad, dec_rad;
|
|---|
| 75 | int numphot;
|
|---|
| 76 |
|
|---|
| 77 | star(); // constructor
|
|---|
| 78 | int readstar(FILE *fp, int verbose); // read one star from the catalog, return TRUE
|
|---|
| 79 | int printstar(); // write the parameters of one star to stdout
|
|---|
| 80 | float calcmissingmags(int verbose);// calculate the magnitudes for those wavebands in which no data
|
|---|
| 81 | // is available assuming a black body and using the V and B mags
|
|---|
| 82 | int mag_nphot(int nph[4], float triggate_s, float radius_m, int verbose);
|
|---|
| 83 | // translate the star magnitude into number of photons
|
|---|
| 84 | };
|
|---|
| 85 |
|
|---|
| 86 | #endif
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.