11 #define NLMAX 256 // l max of spherical harmonic coefficients 12 #define NLMAX_THR 256 // l threshold of spherical harmonic coefficients 14 #define GETSKYAREA // compute the sky area error from probability.fits skymap 16 #define TH_INJ (90-30) // theta source direction 17 #define PH_INJ 60 // phy source direction 23 skymap sm(const_cast<char*>(fitsName.Data()));
27 double fwhm = SMOOTHING;
28 sm.smoothing(fwhm, nlmax, num_iter);
31 double radius = MEDIAN;
38 for(
int i=0;
i<=order;
i++) rings=2*rings+1;
39 cout <<
"rings " << rings << endl;
40 if(
NLMAX>(rings+1)/2) {
41 cout <<
"Error : helpix resolution is " << order
42 <<
" number of rings " << rings << endl;
43 cout <<
" NLMAX=" <<
NLMAX <<
" must be <= (rings+1)/2=" << (rings+1)/2 << endl;
48 for(
int l=0;
l<=alm.
Lmax();
l++) {
49 int limit = TMath::Min(
l,alm.
Mmax());
63 cout <<
"L = " << L << endl;
64 cout <<
"sqrt(ds) = " << sqrt(ds) << endl;
74 double* prob =
new double[
L];
75 for(
int l=0;
l<
L;
l++) prob[
l] = sm.
get(
l);
76 TMath::Sort(L, prob, index,
true);
80 for(
int l=0;
l<
L;
l++) {
82 if(
l<20) cout <<
l <<
" " << index[
l] <<
" " << prob[index[
l]] << endl;
83 if(index[
l] == l_inj) {l_max=
l;
break;}
85 double eA = sqrt(vol);
86 cout <<
"eA = " << eA <<
" l_inj " << l_inj <<
" l_max " << l_max << endl;
93 for(
int l=0;
l<
L;
l++)
if(sm.
get(
l)>max) {max=sm.
get(
l);imax=
l;}
102 gsm->
DrawMarker(ph_inj,th_inj, 29, 2.0, kWhite);
int Mmax() const
Returns the maximum m.
void DrawMarker(double phi, double theta, int marker, Size_t msize=1, Color_t tcolor=1)
double getTheta(size_t i)
void Draw(int dpaletteId=1, Option_t *option="colfz")
void DrawSmoothFits(TString fitsName)
size_t getSkyIndex(double th, double ph)
param: theta param: phi
int Lmax() const
Returns the maximum l.
void CwbToGeographic(double ilongitude, double ilatitude, double &olongitude, double &olatitude)
double get(size_t i)
param: sky index