Ignore:
Timestamp:
04/29/04 19:48:18 (21 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Cosy/main
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Cosy/main/MCosy.cc

    r2615 r3897  
    712712// velocities are limited to the maximum velocity.
    713713//
    714 void MCosy::LimitSpeed(ZdAz *vt, const ZdAz &vcalc) const
    715 {
     714Bool_t MCosy::LimitSpeed(ZdAz *vt, const ZdAz &vcalc) const
     715{
     716    Bool_t rc = kFALSE;
     717
    716718    //
    717719    // How to limit the speed. If the wind comes and blowes
     
    768770        if (fabs(vt->Az()) > maxtrack*vraz)
    769771        {
    770             lout << "Warning: Azimuth speed limit (" << maxtrack*100 << "%) exceeded... limited." << endl;
     772            lout << "Warning: Azimuth speed limit (" << maxtrack*100 << "%) exceeded (" << fabs(vt->Az()) << " > " << maxtrack*vraz << ")... limited." << endl;
    771773            vt->Az(maxtrack*vraz*sgn(vcalc.Az()));
     774            rc=kTRUE;
    772775        }
    773776/*
     
    782785 */       if (fabs(vt->Zd()) > maxtrack*vrzd)
    783786        {
    784             lout << "Warning: Altitude speed limit (" << maxtrack*100 << "%) exceeded... limited." << endl;
     787            lout << "Warning: Altitude speed limit (" << maxtrack*100 << "%) exceeded (" << fabs(vt->Zd()) <<" > " << maxtrack*vrzd << ")... limited." << endl;
    785788            vt->Zd(maxtrack*vrzd*sgn(vcalc.Zd()));
    786         }
     789            rc=kTRUE;
     790        }
     791    return rc;
    787792}
    788793/*
     
    829834        pointing.Zd(-pointing.Zd());
    830835        pointing.Az(pointing.Az()+180);
     836        //lout << "ZD=-ZD Az+=180" << endl;
    831837    }
    832838
    833839    const ZdAz se = GetSePos()*2*TMath::Pi()/16384;   // [rad]
    834840    const ZdAz unbendedse = fBending.CorrectBack(se)*kRad2Deg; // ist pointing
     841
     842    //lout << "Unbended: " << unbendedse.Zd() << " " << unbendedse.Az() << endl;
    835843
    836844    do
     
    839847        if (d>-180 && d<=180)
    840848            break;
     849
     850        //lout << "AZ += " << TMath::Sign(360., d) << endl;
    841851
    842852        pointing.Az(pointing.Az()+TMath::Sign(360., d));
     
    897907void MCosy::TrackPosition(const RaDec &dst) // ra, dec [rad]
    898908{
    899     lout << "Track Position: " << dst.Ra()*kRad2Deg/15 << "h, " << dst.Dec()*kRad2Deg << "deg (Ra/Dec)" << endl;
    900 
    901909    SlaStars sla(fObservatory);
    902910
     
    906914    sla.Now();
    907915    ZdAz dest = sla.CalcZdAz(dst);
     916
     917    lout << sla.GetTime() << ": Track Position " << dst.Ra()*kRad2Deg/15 << "h, " << dst.Dec()*kRad2Deg <<"deg" << endl;
    908918
    909919    // FIXME: Determin tracking start point by star culmination
     
    958968
    959969    sla.Now();
    960     lout << sla.GetTime() << " - Start tracking:";
    961     lout << " Ra: " << xy.X() << "h  " << "Dec: " << xy.Y() << "\xb0" << endl;
     970//    lout << sla.GetTime() << " - Start tracking:";
     971//    lout << " Ra: " << xy.X() << "h  " << "Dec: " << xy.Y() << "\xb0" << endl;
     972
    962973/*#ifdef EXPERT
    963974    ofstream fout("coordinates.txt");
     
    971982    fBackground = kBgdTracking;
    972983
     984    ZdAz pos = sla.CalcZdAz(fRaDec);
     985
     986    lout << sla.GetTime() << " - Start Tracking: Ra=" <<xy.X() << "h Dec=";
     987    lout << xy.Y() << "\xb0 @ Zd=" << pos.Zd()*kRad2Deg <<"deg Az=" << pos.Az()*kRad2Deg <<"deg" << endl;
     988
    973989//---    ofstream fout("log/cosy.pos");
    974990//---    fout << "Tracking:";
     
    9871003        // Request Target position for this moment
    9881004        //
    989         sla.Now();
     1005        sla.Now(dt);
    9901006
    9911007        //
    9921008        // Request theoretical Position for a time in the future (To+dt) from CPU
    9931009        //
    994         const Double_t mjd = sla.GetMjd()+dt/(60*60*24);
    995         const ZdAz pointing = sla.CalcZdAz(fRaDec, mjd); // soll pointing [deg]
    996 
     1010         const ZdAz pointing = sla.CalcZdAz(fRaDec); // soll pointing [rad]
     1011
     1012        //lout << sla.GetTime() << pointing.Zd()*kRad2Deg << " " << pointing.Az()*kRad2Deg << endl;
    9971013        /*
    9981014        ZdAz dest;
     
    10021018        ZdAz dest = AlignTrackingPos(pointing);
    10031019
    1004         ZdAz vcalc = sla.GetApproxVel(fRaDec) * kGearRatio2*4./60.;  // [re/min]
     1020        // lout << "DEST: " << dest.Zd()*kRad2Deg << " " <<dest.Az()*kRad2Deg << endl;
     1021
     1022        ZdAz vcalc = sla.GetApproxVel(fRaDec) * kGearRatio2*4./60.;
     1023        //lout << "Vcalc: " << dest.Zd() << " " << dest.Az() << endl;
     1024        vcalc *= kGearRatio2*4./60.; // [re/min]
    10051025
    10061026        float dtime = -1;
    10071027        if (kFALSE /*fUseStarguider*/)
    1008             dtime = Starguider(mjd, dest);
     1028            dtime = Starguider(sla.GetMjd(), dest);
    10091029
    10101030        if (dtime<0)
     
    10121032            dest = fBending(dest);       // [rad]
    10131033
     1034            //lout << "DEST-BEND: " << dest.Zd()*kRad2Deg << " " <<dest.Az()*kRad2Deg << endl;
     1035             
    10141036            if (!CheckRange(dest))
    10151037                break;
     
    10321054
    10331055            dtime = dt;
     1056
     1057            ZdAz repos = GetRePos();
     1058    //        lout << "Repos: " << repos.Zd()/kGearRatio.X() << " " << repos.Az()*kGearRatio.Y() << endl;
     1059   //         repos /= kGearRatio;
     1060            repos /= 16384/TMath::Pi()/2;
     1061            repos *= kRad2Deg;
    10341062        }
    10351063
     
    10451073        //
    10461074        ZdAz vt = v/4;
    1047         LimitSpeed(&vt, vcalc);
     1075        if (LimitSpeed(&vt, vcalc))
     1076        {
     1077            lout << "Vcalc: " << vcalc.Zd() << " " << vcalc.Az() << "re/min" <<endl;
     1078            lout << "vt: " << vt.Zd() << " " << vt.Az() << "re/min" << endl;
     1079            lout << "Dest: " << dest.Zd() << " " << dest.Az() << endl;
     1080        }             
    10481081        vt.Round();
    10491082
  • trunk/MagicSoft/Cosy/main/MCosy.h

    r2615 r3897  
    143143    void InitSync();
    144144    bool InitTracking();
    145     void LimitSpeed(ZdAz *vt, const ZdAz &vcalc) const;
     145    Bool_t LimitSpeed(ZdAz *vt, const ZdAz &vcalc) const;
    146146
    147147    void TalkThread();
Note: See TracChangeset for help on using the changeset viewer.