Ignore:
Timestamp:
08/16/04 10:44:26 (20 years ago)
Author:
tbretz
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Cosy/tpoint/gui.C

    r4587 r4617  
    4141    Double_t fRawEl;
    4242
     43    Double_t fMag;
    4344public:
    4445    Set(Double_t sel=0, Double_t saz=0, Double_t rel=0, Double_t raz=0) :
     
    4647        fStarEl(sel*TMath::DegToRad()),
    4748        fRawAz(raz*TMath::DegToRad()),
    48         fRawEl(rel*TMath::DegToRad())
    49     {
    50     }
    51 
     49        fRawEl(rel*TMath::DegToRad()), fMag(-25)
     50    {
     51    }
     52
     53    Double_t GetMag() const { return fMag; }
    5254    Double_t GetResidual(Double_t *err=0) const
    5355    {
     
    102104        fRawAz  = set.fRawAz;
    103105        fRawEl  = set.fRawEl;
     106        fMag    = set.fMag;
    104107    }
    105108
     
    150153    } while (str[0]=='#');
    151154
    152     Float_t v[4];
    153     sscanf(str.Data(), "%f %f %f %f", v, v+1, v+2, v+3);
     155    Float_t v[4], mag;
     156    Int_t n = sscanf(str.Data(), "%f %f %f %f %*f %*f %*f %*f %*f %*f %f", v, v+1, v+2, v+3, &mag);
     157    if (n<4)
     158    {
     159        cout << "Read: ERROR - Not enough numbers" << endl;
     160        return fin;
     161    }
     162    set.fMag = n<5 ? -25 : mag;
    154163
    155164    set.fStarAz = v[0]*TMath::DegToRad();
     
    404413        TGraph graz;
    405414        TGraph grzd;
     415        TGraph grmag;
     416        TGraph gmaz;
     417        TGraph gmzd;
    406418   
    407419        gdaz.SetTitle(" \\Delta Az vs. Zd ");
     
    411423        gzd.SetTitle(" \\Delta Zd vs. Zd ");
    412424
     425        gmaz.SetTitle(" \\Delta Az vs. Mag ");
     426        gmzd.SetTitle(" \\Delta Zd vs. Mag ");
     427
    413428        graz.SetTitle(" \\Delta vs. Az ");
    414429        grzd.SetTitle(" \\Delta vs. Zd ");
     430        grmag.SetTitle(" \\Delta vs. Mag ");
    415431   
    416432        TMinuit minuit(MBending::GetNumPar());  //initialize TMinuit with a maximum of 5 params
     
    502518            gaz.SetPoint( i, za.Az(), dz);
    503519            gzd.SetPoint( i, za.Zd(), set0.GetDZd());
     520            if (set0.GetMag()>=-20)
     521            {
     522                grmag.SetPoint(i, set0.GetMag(), set0.GetResidual());
     523                gmaz.SetPoint( i, set0.GetMag(), dz);
     524                gmzd.SetPoint( i, set0.GetMag(), set0.GetDZd());
     525            }
    504526        }
    505527   
     
    577599        gdaz.SetMaximum(absmax1);
    578600        gdzd.SetMaximum(absmax2);
     601        gmaz.SetMaximum(absmax1);
     602        gmzd.SetMaximum(absmax2);
    579603        graz.SetMaximum(absmax3);
    580604        grzd.SetMaximum(absmax3);
     605        grmag.SetMaximum(absmax3);
    581606        gaz.SetMinimum(-absmax1);
    582607        gzd.SetMinimum(-absmax2);
    583608        gdaz.SetMinimum(-absmax1);
    584609        gdzd.SetMinimum(-absmax2);
     610        gmaz.SetMinimum(-absmax1);
     611        gmzd.SetMinimum(-absmax2);
    585612        graz.SetMinimum(0);
    586613        grzd.SetMinimum(0);
     614        grmag.SetMinimum(0);
    587615
    588616        c1=new TCanvas("CanvGraphs", "Graphs");
    589         c1->Divide(2,3,0,0);
     617        c1->Divide(3,3,0,0);
    590618
    591619        TLine line;
     
    615643        line.DrawLine(g->GetXaxis()->GetXmin(), -360./16384, g->GetXaxis()->GetXmax(), -360./16384);
    616644        cout << "Mean dAz: " << g->GetMean(2) << " \xb1 " << g->GetRMS(2) <<  endl;
    617    
     645
    618646        c1->cd(3);
     647        gPad->SetBorderMode(0);
     648        gPad->SetGridx();
     649        gPad->SetGridy();
     650        g=(TGraph*)gmaz.DrawClone("A*");
     651        g->SetBit(kCanDelete);
     652        g->GetHistogram()->SetXTitle("Mag");
     653        g->GetHistogram()->SetYTitle("\\Delta Az [\\circ]");
     654        line.DrawLine(g->GetXaxis()->GetXmin(),  360./16384, g->GetXaxis()->GetXmax(),  360./16384);
     655        line.DrawLine(g->GetXaxis()->GetXmin(), -360./16384, g->GetXaxis()->GetXmax(), -360./16384);
     656   
     657        c1->cd(4);
    619658        gPad->SetBorderMode(0);
    620659        gPad->SetGridx();
     
    629668        cout << endl;
    630669   
    631         c1->cd(4);
     670        c1->cd(5);
    632671        gPad->SetBorderMode(0);
    633672        gPad->SetGridx();
     
    640679        line.DrawLine(g->GetXaxis()->GetXmin(), -360./16384, g->GetXaxis()->GetXmax(), -360./16384);
    641680
    642         c1->cd(5);
     681        c1->cd(6);
     682        gPad->SetBorderMode(0);
     683        gPad->SetGridx();
     684        gPad->SetGridy();
     685        g=(TGraph*)gmzd.DrawClone("A*");
     686        g->SetBit(kCanDelete);
     687        g->GetHistogram()->SetXTitle("Mag");
     688        g->GetHistogram()->SetYTitle("\\Delta Zd [\\circ]");
     689        line.DrawLine(g->GetXaxis()->GetXmin(),  360./16384, g->GetXaxis()->GetXmax(),  360./16384);
     690        line.DrawLine(g->GetXaxis()->GetXmin(), -360./16384, g->GetXaxis()->GetXmax(), -360./16384);
     691
     692        c1->cd(7);
    643693        gPad->SetBorderMode(0);
    644694        gPad->SetGridx();
     
    650700        line.DrawLine(g->GetXaxis()->GetXmin(),  360./16384, g->GetXaxis()->GetXmax(),  360./16384);
    651701   
    652         c1->cd(6);
     702        c1->cd(8);
    653703        gPad->SetBorderMode(0);
    654704        gPad->SetGridx();
     
    660710        line.DrawLine(g->GetXaxis()->GetXmin(),  360./16384, g->GetXaxis()->GetXmax(),  360./16384);
    661711
     712        c1->cd(9);
     713        gPad->SetBorderMode(0);
     714        gPad->SetGridx();
     715        gPad->SetGridy();
     716        g=(TGraph*)grmag.DrawClone("A*");
     717        g->SetBit(kCanDelete);
     718        g->GetHistogram()->SetXTitle("Mag");
     719        g->GetHistogram()->SetYTitle("\\Delta [\\circ]");
     720        line.DrawLine(g->GetXaxis()->GetXmin(),  360./16384, g->GetXaxis()->GetXmax(),  360./16384);
    662721
    663722
     
    784843    //  Opens an open dialog
    785844    //
    786     TString OpenDialog()
     845    TString OpenDialog(EFileDialogMode mode=kFDOpen)
    787846    {
    788847        static const char *gOpenTypes[] =
     
    800859        fi.fIniDir    = StrDup(dir);
    801860
    802         new TGFileDialog(fClient->GetRoot(), this, kFDOpen, &fi);
     861        new TGFileDialog(fClient->GetRoot(), this, mode, &fi);
    803862
    804863        if (!fi.fFilename)
     
    833892                    return kTRUE;
    834893                case kTbLoad:
    835                     fBending.Load("bending_new.txt");
     894                    fBending.Load(OpenDialog());
    836895                    DisplayBending();
    837896                    return kTRUE;
    838897                case kTbSave:
    839                     fBending.Save("bending_new.txt");
     898                    fBending.Save(OpenDialog(kFDSave));
    840899                    return kTRUE;
    841900                case kTbLoadStars:
     
    10411100        ((TGCheckButton*)fList->FindWidget(0))->SetState(kButtonDown);
    10421101        ((TGCheckButton*)fList->FindWidget(1))->SetState(kButtonDown);
    1043         ((TGCheckButton*)fList->FindWidget(3))->SetState(kButtonDown);
    1044         ((TGCheckButton*)fList->FindWidget(4))->SetState(kButtonDown);
    1045         ((TGCheckButton*)fList->FindWidget(5))->SetState(kButtonDown);
    10461102        ((TGCheckButton*)fList->FindWidget(6))->SetState(kButtonDown);
    1047         ((TGCheckButton*)fList->FindWidget(7))->SetState(kButtonDown);
     1103        ((TGCheckButton*)fList->FindWidget(10))->SetState(kButtonDown);
     1104        ((TGCheckButton*)fList->FindWidget(12))->SetState(kButtonDown);
     1105        ((TGCheckButton*)fList->FindWidget(17))->SetState(kButtonDown);
    10481106
    10491107        SetWindowName("TPoint Fitting Window");
Note: See TracChangeset for help on using the changeset viewer.