Changeset 18751 for trunk/Mars/mimage


Ignore:
Timestamp:
02/05/17 10:42:26 (8 years ago)
Author:
tbretz
Message:
Implemented the possibility to correct for the reflector's abberation - here the outward shift of the CoG of the reflected light of a point source.
Location:
trunk/Mars/mimage
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Mars/mimage/MHillasCalc.cc

    r7804 r18751  
    181181          fNameNewImagePar(gsNameNewImagePar),
    182182          fNameNewImagePar2(gsNameNewImagePar2),
    183           fErrors(7), fFlags(0xff), fIdxIsland(-1)
     183          fErrors(7), fFlags(0xff), fIdxIsland(-1), fAbberation(1)
    184184{
    185185    fName  = name  ? name  : gsDefName.Data();
     
    324324    if (TestFlag(kCalcHillasSrc))
    325325    {
    326         const Int_t rc = fHillasSrc->Calc(*fHillas);
     326        const Int_t rc = fHillasSrc->Calc(*fHillas, fAbberation);
    327327        if (rc<0 || rc>2)
    328328        {
  • trunk/Mars/mimage/MHillasCalc.h

    r14447 r18751  
    6666    Int_t                fFlags;            // Flags defining the behaviour of MHillasCalc
    6767    Short_t              fIdxIsland;        // Number of island to use for calculation
     68    Double_t             fAbberation;       // Correction factor to correct for abberation effects
    6869
    6970    // MParContainer
     
    113114    void SetIdxIsland(Short_t idx) { fIdxIsland = idx; }
    114115
     116    // Set Abberation (see MHillasSrc for details)
     117    void SetAbberation(Double_t a=1) { fAbberation = a; }
     118
    115119    // TObject
    116120    void Print(Option_t *o="") const;
  • trunk/Mars/mimage/MHillasSrc.cc

    r8601 r18751  
    111111//  you call the Reset member function before.
    112112//
    113 Int_t MHillasSrc::Calc(const MHillas &hillas)
     113Int_t MHillasSrc::Calc(const MHillas &hillas, double abberation)
    114114{
    115115     const Double_t mx = hillas.GetMeanX();     // [mm]
    116116     const Double_t my = hillas.GetMeanY();     // [mm]
    117117
    118      const Double_t sx = mx - fSrcPos->GetX();   // [mm]
    119      const Double_t sy = my - fSrcPos->GetY();   // [mm]
     118     // The abberation value corrects for the average shift of
     119     // the CoG of a light distirbution in the camera by the optics.
     120     // The FACT refelctor for example reflects the CoG to a point
     121     // 2% further away than the master ray. This could be corrected
     122     // moving all pixels (in the image parameter calculation) 2%
     123     // outwards. Instead, simply the source position 'reflected'
     124     // (as if it were the master ray) is moved 2% inwards in the
     125     // camera.
     126     const Double_t sx = mx - fSrcPos->GetX()/abberation;  // [mm]
     127     const Double_t sy = my - fSrcPos->GetY()/abberation;  // [mm]
    120128
    121129     const Double_t sd = hillas.GetSinDelta();  // [1]
  • trunk/Mars/mimage/MHillasSrc.h

    r8601 r18751  
    5454    void Paint(Option_t *opt=NULL);
    5555
    56     virtual Int_t Calc(const MHillas &hillas);
     56    virtual Int_t Calc(const MHillas &hillas, double abberation=1);
    5757
    5858    void Set(const TArrayF &arr);
Note: See TracChangeset for help on using the changeset viewer.