Changeset 9521 for trunk/MagicSoft


Ignore:
Timestamp:
10/26/09 15:31:08 (15 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/msimcamera/MSimRandomPhotons.cc

    r9425 r9521  
    3434// FIXME: We should add the wavelength distribution.
    3535//
     36// The artificial night sky background rate is calculated as follows:
     37//
     38//  * The photon detection efficiency vs. wavelength of the detector is obtained
     39//    from "PhotonDetectionEfficiency" of type "MParSpline"
     40//
     41//  * The angular acceptance of the light collectors is obtained
     42//    from "ConesAngularAcceptance" of type "MParSpline"
     43//
     44//  * The spectral acceptance of the light collectors is obtained
     45//    from "ConesTransmission" of type "MParSpline"
     46//
     47//  * The reflectivity of the mirrors vs wavelength is obtained
     48//    from "MirrorReflectivity" of type "MParSpline"
     49//
     50// The rate is then calculated as
     51//
     52//   R = R0 * Ai * f
     53//
     54// R0 is the night sky background rate as given in Eckart's paper. Ai the
     55// area of the cones acceptance window, f is given as:
     56//
     57//   f = nm * Min(Ar, sr*d^2)
     58//
     59// with
     60//
     61//   nm being the integral of the product of the mirror reflectivity, the cone
     62//   transmission and the photon detection efficiency.
     63//
     64//   d the distance of the focal plane to the mirror
     65//
     66//   Ar is the total reflective area of the reflector
     67//
     68//   sr is the effective solid angle corresponding to the integral of the
     69//   cones angular acceptance
     70//
     71//
    3672//  Input Containers:
    3773//   fNameGeomCam [MGeomCam]
     
    151187    }
    152188
     189    *fLog << warn << "FIXME: A check is needed that the PDE is 0 at both ends!" << endl;
     190
    153191    const MParSpline *s1 = (MParSpline*)pList->FindObject("PhotonDetectionEfficiency", "MParSpline");
    154192    const MParSpline *s2 = (MParSpline*)pList->FindObject("ConesAngularAcceptance",    "MParSpline");
    155193    const MParSpline *s3 = (MParSpline*)pList->FindObject("MirrorReflectivity",        "MParSpline");
     194    const MParSpline *s5 = (MParSpline*)pList->FindObject("ConesTransmission",         "MParSpline");
    156195
    157196    const Double_t d2  = fGeom->GetCameraDist()*fGeom->GetCameraDist();
    158     const Double_t pde = s1 && s1->GetSpline() ? s1->GetSpline()->Integral() : 1;
     197//    const Double_t pde = s1 && s1->GetSpline() ? s1->GetSpline()->Integral() : 1;
    159198    const Double_t sr  = s2 && s2->GetSpline() ? s2->GetSpline()->IntegralSolidAngle() : 1;
    160     const Double_t mir = s3 && s3->GetSpline() ? s3->GetSpline()->Integral() : 1;
     199//    const Double_t mir = s3 && s3->GetSpline() ? s3->GetSpline()->Integral() : 1;
    161200    const Double_t Ar  = r->GetA()/1e4;
    162201
     
    168207    MParSpline *s4 = (MParSpline*)s1->Clone();
    169208    s4->Multiply(*s3->GetSpline());
     209    s4->Multiply(*s5->GetSpline());
    170210
    171211    const Double_t nm = s4 && s4->GetSpline() ? s4->GetSpline()->Integral() : 1;
     
    180220    *fLog << "Reflector area:                 " << Form("%.2f", Ar) << "m^2" << endl;
    181221    *fLog << "Resulting eff. collection area: " << Form("%.1f", TMath::Min(Ar, sr*d2)) << "m^2" << endl;
    182     *fLog << "Eff. wavelength band (PDE):     " << Form("%.1f", pde) << "nm" << endl;
    183     *fLog << "Eff. wavelength band (Mirror):  " << Form("%.1f", mir) << "nm" << endl;
    184     *fLog << "Eff. wavelength band (PDE+MIR): " << Form("%.1f", nm) << "nm" << endl;
     222//    *fLog << "Eff. wavelength band (PDE):     " << Form("%.1f", pde) << "nm" << endl;
     223//    *fLog << "Eff. wavelength band (Mirror):  " << Form("%.1f", mir) << "nm" << endl;
     224    *fLog << "Eff. wavelength band (MIR+Cone+PDE): " << Form("%.1f", nm) << "nm" << endl;
    185225    *fLog << "Pixel area of " << fNameGeomCam << "[0]: " << Form("%.2e", (*fGeom)[0].GetA()*conv*conv) << "sr" << endl;
    186226    //*fLog << "Effective angular acceptance:     " << sr << "sr" << endl;
     
    290330//
    291331//    FrequencyFixed: 0.040
    292 //    FrequencyNSB:   0.040
     332//    FrequencyNSB:   5.8
    293333//
    294334// The fixed frequency is given in units fitting the units of the time.
Note: See TracChangeset for help on using the changeset viewer.