Ignore:
Timestamp:
07/15/03 15:05:21 (21 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Cosy/gui/MGCosy.cc

    r2069 r2278  
    5555    kPB_DECp,
    5656    kPB_DECm,
     57    kPB_ZDp,
     58    kPB_ZDm,
     59    kPB_AZp,
     60    kPB_AZm,
    5761    kPB_LoadBending,
    5862    kPB_ResetBending,
    5963    kPB_CALIBSE,
    6064    kCB_PredefPos,
     65    kCB_StarList,
    6166
    6267    // kLog
     
    8590    TGPopupMenu *logmenu = new TGPopupMenu(gClient->GetRoot());
    8691    logmenu->AddEntry("&Copy Selected", kLogCopy);
    87     logmenu->AddEntry("Clear all",      kLogClear);
     92    logmenu->AddEntry("&Select All",    kLogSelect);
    8893    logmenu->AddSeparator();
    89     logmenu->AddEntry("Select All",     kLogSelect);
     94    logmenu->AddEntry("Clear &all",     kLogClear);
    9095    /*
    9196     logmenu->AddSeparator();
     
    9398     */
    9499    logmenu->AddSeparator();
    95     logmenu->AddEntry("Save",           kLogSave);
    96     logmenu->AddEntry("Save append",    kLogAppend);
     100    logmenu->AddEntry("Sa&ve",          kLogSave);
     101    logmenu->AddEntry("Save a&ppend",   kLogAppend);
    97102    logmenu->Associate(this);
    98103
     
    160165    fList->Add(fLabel2);
    161166    fList->Add(fLabel3);
    162 
     167/*
    163168    l = new TGLabel(f, "Offset-Zd:");
    164169    l->Move(x-60, y+102);
     
    177182    fList->Add(fOffsetZd);
    178183    fList->Add(fOffsetAz);
    179 
     184*/
    180185    l = new TGLabel(f, "Ra (estimated):");
    181     l->Move(x-60, y+142);
     186    l->Move(x-60, y+142-20);
    182187    fList->Add(l);
    183188
    184189    l = new TGLabel(f, "Ra (nominal):");
    185     l->Move(x-60, y+159);
     190    l->Move(x-60, y+159-20);
    186191    fList->Add(l);
    187192
    188193    l = new TGLabel(f, "Dec (estimated):");
    189     l->Move(x-60, y+182);
     194    l->Move(x-60, y+182-20);
    190195    fList->Add(l);
    191196
    192197    l = new TGLabel(f, "Dec (nominal):");
    193     l->Move(x-60, y+199);
     198    l->Move(x-60, y+199-20);
    194199    fList->Add(l);
    195200
     
    214219    fZdSoll->SetTextJustify(kTextRight);
    215220    fAzSoll->SetTextJustify(kTextRight);
    216     fRaEst->Move(x+30, y+142);
    217     fRaSoll->Move(x+30, y+159);
    218     fDecEst->Move(x+30, y+182);
    219     fDecSoll->Move(x+30, y+199);
     221    fRaEst->Move(x+30, y+142-20);
     222    fRaSoll->Move(x+30, y+159-20);
     223    fDecEst->Move(x+30, y+182-20);
     224    fDecSoll->Move(x+30, y+199-20);
    220225    fZdSoll->Move(x+30, y+222);
    221226    fAzSoll->Move(x+30, y+239);
     
    311316    if (!fin)
    312317    {
    313         cout << "ERROR: Predifined posiion in 'prepos.txt' not found." << endl;
     318        cout << "ERROR: Predifined positions in 'prepos.txt' not found." << endl;
    314319        return;
    315320    }
     
    329334}
    330335
    331 void MGCosy::CreateTabs(TGTab *fTab)
     336void MGCosy::CreateStarList(TGCompositeFrame *tf1)
     337{
     338    /*
     339    TGComboBox *box = new TGComboBox(tf1, kCB_StarList);
     340    box->Resize(120, 20);
     341    box->Associate(this);
     342
     343    TGLayoutHints *lay = new TGLayoutHints(kLHintsLeft|kLHintsTop,
     344                                           27, 0, 200, 0);
     345    tf1->AddFrame(box, lay);
     346
     347    fList->Add(box);
     348    fList->Add(lay);
     349
     350    ifstream fin("stars.txt");
     351    if (!fin)
     352    {
     353        cout << "ERROR: Star List 'stars.txt' not found." << endl;
     354        return;
     355    }
     356
     357    int i=0;
     358    while (1)
     359    {
     360        TString str;
     361        Int_t h, m, s, d, am, as;
     362        fin >> h >> m >> s >> d >> am >> as;
     363        if (!fin)
     364            break;
     365
     366        box->AddEntry(str, i++);
     367
     368        fStarList.Add(zd, az);
     369        }
     370        */
     371}
     372
     373void MGCosy::CreateTabs()
    332374{
    333375    TGCompositeFrame *tf1 = fTab->AddTab("Position");
    334376    TGCompositeFrame *tf2 = fTab->AddTab("Track");
     377    TGCompositeFrame *tf4 = fTab->AddTab("Calib");
    335378#ifdef EXPERT
    336     TGCompositeFrame *tf4 = fTab->AddTab("Calib");
    337379    TGCompositeFrame *tf5 = fTab->AddTab("Test SE");
    338380    TGCompositeFrame *tf6 = fTab->AddTab("Gear");
     
    345387
    346388    CreatePredefinedPos(tf1);
     389    CreateStarList(tf4);
    347390
    348391    fCRaDec = new MGCoordinates(tf2, kETypeRaDec);
     
    350393    fList->Add(fCRaDec);
    351394
    352 #ifdef EXPERT
    353395    fCCalib = new MGCoordinates(tf4, kETypeRaDec);
    354396    fCCalib->Move(27, 105);
    355397    fList->Add(fCCalib);
    356 #endif
    357398
    358399    const int x=15;
     
    386427    fList->Add(l3);
    387428
    388 #ifdef EXPERT
    389429    l1 = new TGLabel(tf4, "Start the calibration using the Start button.");
    390430    l2 = new TGLabel(tf4, "Write a coordinate pair to a TPoint file using");
     
    401441    fList->Add(l4);
    402442
     443#ifdef EXPERT
    403444    l1 = new TGLabel(tf5, "START starts histograming the differences of");
    404445    l2 = new TGLabel(tf5, "the two shaftencoders at the elevation axis.");
     
    495536    fList->Add(but);
    496537    */
     538#ifdef EXPERT
    497539    but = new TGTextButton(tf4, "Load", kPB_LoadBending);
    498     but->Resize(80, 25);
    499     but->Move(25, 190);
     540    but->Resize(50, 25);
     541    but->Move(151, 185);
    500542    but->SetToolTipText("Load bending corrections from file 'bending.txt'");
    501543    but->Associate(this);
     
    503545
    504546    but = new TGTextButton(tf4, "Reset", kPB_ResetBending);
    505     but->Resize(80, 25);
    506     but->Move(25, 220);
     547    but->Resize(50, 25);
     548    but->Move(206, 185);
    507549    but->SetToolTipText("Reset bending correction (coefficients=0)");
    508550    but->Associate(this);
    509551    fList->Add(but);
     552#endif EXPERT
    510553
    511554    but = new TGTextButton(tf4, "TPoint", kPB_TPOINT);
    512     but->Resize(80, 25);
    513     but->Move(25, 250);
     555    but->Resize(50, 25);
     556    but->Move(176/*231*/, 213);
    514557    but->SetToolTipText("Trigger writing a tpoint coordinate pair.");
     558    but->Associate(this);
     559    fList->Add(but);
     560
     561    but= new TGTextButton(tf4, "Zd -",  kPB_ZDm);
     562    but->Resize(50, 25);
     563    but->Move(25, 210);
     564    but->SetToolTipText("Zenith Distance -= 1SE");
     565    but->Associate(this);
     566    fList->Add(but);
     567    but= new TGTextButton(tf4, "Zd +",  kPB_ZDp);
     568    but->Resize(50, 25);
     569    but->Move(90, 210);
     570    but->SetToolTipText("Zenith Distance += 1SE");
     571    but->Associate(this);
     572    fList->Add(but);
     573    but= new TGTextButton(tf4, "Az +",  kPB_AZp);
     574    but->Resize(50, 25);
     575    but->Move(55, 185);
     576    but->SetToolTipText("Azimuth += 1SE");
     577    but->Associate(this);
     578    fList->Add(but);
     579    but= new TGTextButton(tf4, "Az -",  kPB_AZm);
     580    but->Resize(50, 25);
     581    but->Move(55, 235);
     582    but->SetToolTipText("Azimuth -= 1SE");
    515583    but->Associate(this);
    516584    fList->Add(but);
     
    728796    AddFrame(f2, hints2);
    729797
    730     //
    731     // FIXME!
    732     //
    733798#ifdef DEBUG
    734799    cout << "MGCosy: Creating Tabs" << endl;
    735800#endif
    736     CreateTabs(fTab);
     801    CreateTabs();
    737802#ifdef DEBUG
    738803    cout << "MGCosy: Creating Label" << endl;
     
    871936    }
    872937}
    873 
     938/*
    874939void MGCosy::UpdateOffset(ZdAz &off)
    875940{
     
    892957    }
    893958}
    894 
     959*/
    895960void MGCosy::UpdateZdAz(ZdAz &soll)
    896961{
     
    9541019}
    9551020
    956 void MGCosy::Update(ZdAz pos, ZdAz acc, ZdAz vel, ZdAz off, RaDec radec,
     1021void MGCosy::Update(ZdAz pos, ZdAz acc, ZdAz vel, /*ZdAz off,*/ RaDec radec,
    9571022                    ZdAz soll, UInt_t stat, UInt_t stat2)
    9581023{
     
    9621027    double mjd = UpdateTime();
    9631028    fSkyPosition->Update(pos, mjd);
    964     fAccuracy->Update(pos, acc);
    965     fVelocity->Update(vel);
    966     UpdateOffset(off);
     1029    //UpdateOffset(off);
    9671030    UpdateRaDec(pos, mjd, radec);
    9681031    UpdateZdAz(soll);
     
    9911054    SetLabelColor(fAvailSe3,  stat2&0x20);
    9921055
    993     stat&kTracking ? fAccuracy->MapWindow() : fAccuracy->UnmapWindow();
    994     stat&kTracking ? fVelocity->MapWindow() : fVelocity->UnmapWindow();
     1056    if (stat&kTracking)
     1057    {
     1058        fAccuracy->Update(pos, acc);
     1059        fVelocity->Update(vel);
     1060        fAccuracy->MapWindow();
     1061        fVelocity->MapWindow();
     1062    }
     1063    else
     1064    {
     1065        fAccuracy->UnmapWindow();
     1066        fVelocity->UnmapWindow();
     1067    }
    9951068    //    stat&kTracking ? fOffset->MapWindow()   : fOffset->UnmapWindow();
    9961069
     
    10221095}
    10231096
    1024 void MGCosy::StartTrack()
     1097void MGCosy::StartTrack(bool track)
    10251098{
    10261099    cout << "Start tracking." << endl;
    10271100
    1028     XY xy = fCRaDec->GetCoordinates();
    1029     RaDec dest(xy.X()*15., xy.Y()); // xy.X()  [h]->[ø]
    1030 
    1031     cout << dest.Ra() << "h " << dest.Dec() << "\xb0" << endl;
     1101    XY xy0 = fCRaDec->GetCoordinates();
     1102    XY xy1 = track ? xy0 : fCCalib->GetCoordinates();
     1103
     1104    RaDec dest0(xy0.X()*15., xy0.Y()); // xy.X()  [h]->[ø]
     1105    RaDec dest1(xy1.X()*15., xy1.Y()); // xy.X()  [h]->[ø]
     1106
     1107    cout << "TrackPos: " << dest0.Ra() << "h " << dest0.Dec() << "\xb0" << endl;
     1108    cout << "CalibPos: " << dest1.Ra() << "h " << dest1.Dec() << "\xb0" << endl;
     1109
     1110    RaDec dest[2] = { dest0, dest1 };
    10321111
    10331112    fQueue->PostMsg(WM_TRACK, &dest, sizeof(dest));
     
    10361115}
    10371116
    1038 void MGCosy::StartTrackPos()
     1117void MGCosy::StartTrackPos(Long_t mp1)
    10391118{
    10401119    cout << "Start tracking Zd/Az pos." << endl;
     
    10431122
    10441123    ZdAz za(xy.X(), xy.Y());
     1124
     1125    switch (mp1)
     1126    {
     1127    case kPB_ZDm:
     1128        za.Zd(za.Zd()-360/16384.);
     1129        break;
     1130    case kPB_ZDp:
     1131        za.Zd(za.Zd()+360/16384.);
     1132        break;
     1133    case kPB_AZm:
     1134        za.Az(za.Az()-360/16384.);
     1135        break;
     1136    case kPB_AZp:
     1137        za.Az(za.Az()+360/16384.);
     1138        break;
     1139    }
    10451140
    10461141    cout << za.Zd() << "\xb0 " << za.Az() << "\xb0" << endl;
     
    12031298                    return kTRUE;
    12041299                case 1:
    1205                     StartTrack();
     1300                    StartTrack(true);
    12061301                    return kTRUE;
    12071302                case 2:
    12081303                    fCRaDec->SetCoordinates(fCCalib->GetCoordinates());
     1304                    StartTrack(false);
    12091305                    return kTRUE;
    12101306                case 3:
     
    12611357                        break;
    12621358                    }
    1263                     RaDec dest(xy.X()*15., xy.Y()); // xy.X()  [h]->[ø]
    1264                     fQueue->PostMsg(WM_TRACK, &dest, sizeof(dest));
    1265                     //fQueue->Proc(WM_NEWTRACK, &dest);
    12661359                    fCRaDec->SetCoordinates(xy);
    1267 
    1268                     cout << "New Ra/Dec: " << dest.Ra() << "h " << dest.Dec() << "\xb0" << endl;
     1360                    StartTrack(false);
     1361                    /*
     1362                     RaDec dest(xy.X()*15., xy.Y()); // xy.X()  [h]->[ø]
     1363                     fQueue->PostMsg(WM_TRACK, &dest, sizeof(dest));
     1364                     //fQueue->Proc(WM_NEWTRACK, &dest);
     1365                     */
     1366                    //cout << "New Ra/Dec: " << dest.Ra() << "h " << dest.Dec() << "\xb0" << endl;
    12691367                }
     1368                return kTRUE;
     1369
     1370            case kPB_ZDp:
     1371            case kPB_ZDm:
     1372            case kPB_AZp:
     1373            case kPB_AZm:
     1374                StartTrackPos(mp1);
    12701375                return kTRUE;
    12711376
Note: See TracChangeset for help on using the changeset viewer.