Ignore:
Timestamp:
06/28/07 21:30:25 (18 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mpointing
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mpointing/MSrcPosCalc.cc

    r8601 r8618  
    6868
    6969#include "MParList.h"
     70#include "MTaskList.h"
    7071
    7172#include "MLog.h"
     
    9495MSrcPosCalc::MSrcPosCalc(const char *name, const char *title)
    9596    : fObservatory(NULL), fPointPos(NULL), fSourcePos(NULL), fDeviation(NULL),
    96     fSrcPosCam(NULL), fSrcPosAnti(NULL), fGeom(NULL), fTime(NULL), fMode(kDefault)
     97    fSrcPosCam(NULL), fSrcPosAnti(NULL), fGeom(NULL), fTime(NULL), fCallback(NULL),
     98    fMode(kDefault)
    9799{
    98100    fName  = name  ? name  : "MSrcPosCalc";
     
    196198    //*fLog << "Pointing Position: " << GetRaDec(*fPointPos)  << endl;
    197199    *fLog << "Source Position: " << GetRaDec(*fSourcePos) << endl;
     200    if (fCallback)
     201        *fLog << "Using " << fCallback->GetNumPasses() << " off-regions." << endl;
    198202
    199203    // For the case ReInit is never called we try:
     
    215219    {
    216220        fSrcPosAnti->SetXY(v);
    217         v *= -1;
     221
     222        if (fCallback)
     223        {
     224            const Double_t step = TMath::TwoPi()/(fCallback->GetNumPasses()+1);
     225            v = v.Rotate(step*(fCallback->GetNumPass()+1));
     226        }
     227        else
     228            v *= -1;
     229
    218230        fSrcPosCam->SetXY(v);
    219231    }
  • trunk/MagicSoft/Mars/mpointing/MSrcPosCalc.h

    r7287 r8618  
    1717class MTime;
    1818class MVector3;
     19class MTaskList;
    1920
    2021class MSrcPosCalc : public MTask
     
    3940    MGeomCam     *fGeom;
    4041    MTime        *fTime;
     42    MTaskList    *fCallback;
    4143
    4244    UShort_t fRunType;            //! Run Type to decide where to get pointing position from
     
    6870    void SetOwner(Bool_t b=kTRUE) { b ? SetBit(kIsOwner) : ResetBit(kIsOwner); } // Make MSrcPosCalc owner of fSourcePos
    6971    void SetMode(Mode_t m=kDefault) { fMode = m; }
     72    void SetCallback(MTaskList *list) { fCallback=list; }
    7073
    7174    ClassDef(MSrcPosCalc, 0) // Calculates the source position in the camera
Note: See TracChangeset for help on using the changeset viewer.