Ignore:
Timestamp:
01/26/05 09:09:09 (20 years ago)
Author:
mazin
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Mars/mtemp/mmpi
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Mars/mtemp/mmpi/MInterpolatePointingPos.cc

    r5943 r6016  
    6363using namespace std;
    6464
    65 const Int_t MInterpolatePointingPos::fgNumStartEvents = 10000;
     65const Int_t MInterpolatePointingPos::fgNumStartEvents = 1;
    6666// --------------------------------------------------------------------------
    6767//
     
    150150    TArrayD dec(fNumStartEvents);
    151151   
    152     Int_t n=0;
     152    Int_t n=1;
    153153    while (tlist.Process())
    154154    {
     
    156156        MTime* reporttime = (MTime*)plist.FindObject("MTimeDrive");
    157157       
    158         if(n==0)
     158        if(n==1)
    159159          fFirstDriveTime = *reporttime;
    160160        else
    161161          fLastDriveTime = *reporttime;
    162162
     163        //
     164        // Update the number of entries
     165        //
     166        if (n>fNumStartEvents)
     167          {
     168            reportTime.Set(n);
     169            currentZd.Set(n);
     170            currentAz.Set(n);
     171            nominalZd.Set(n);
     172            nominalAz.Set(n);
     173            ra.Set(n);
     174            dec.Set(n);
     175          }
    163176        //
    164177        // Sometimes there are two reports with the same time
     
    171184        }
    172185
    173         reportTime[n] = reporttime->GetTime();
    174         currentZd[n] = report->GetCurrentZd();
    175         currentAz[n] = report->GetCurrentAz();
    176         nominalZd[n] = report->GetNominalZd();
    177         nominalAz[n] = report->GetNominalAz();
    178         ra[n] = report->GetRa();
    179         dec[n] = report->GetDec();
    180 
    181 //cout << " GetTime(): " << reporttime->GetTime() << endl;
    182 //cout << " GetCurrentZd(): " << report->GetCurrentZd() << endl;
     186        reportTime[n-1] = reporttime->GetTime();
     187        currentZd [n-1] = report->GetCurrentZd();
     188        currentAz [n-1] = report->GetCurrentAz();
     189        nominalZd [n-1] = report->GetNominalZd();
     190        nominalAz [n-1] = report->GetNominalAz();
     191        ra        [n-1] = report->GetRa();
     192        dec       [n-1] = report->GetDec();
     193
     194        if (fDebug)
     195          {
     196            *fLog << " GetTime(): " << reporttime->GetTime() << endl;
     197            *fLog << " GetCurrentZd(): " << report->GetCurrentZd() << endl;
     198          }
    183199        n++;
    184200    }
     
    186202    tlist.PrintStatistics();
    187203
    188     *fLog << "["<< GetName() << "]: loaded " << n << " ReportDrive from "
     204    *fLog << "["<< GetName() << "]: loaded " << n-1 << " ReportDrive from "
    189205          << fFirstDriveTime << " to " << fLastDriveTime << endl << endl;
    190206
    191     //
    192     // Update the number of entries
    193     //
    194     reportTime.Set(n);
    195     currentZd.Set(n);
    196     currentAz.Set(n);
    197     nominalZd.Set(n);
    198     nominalAz.Set(n);
    199     ra.Set(n);
    200     dec.Set(n);
    201      
    202207    if (fDebug)
    203208        {
     
    210215
    211216    fSplineZd = new TSpline3("zenith",
    212                              reportTime.GetArray(), nominalZd.GetArray(), n);
     217                             reportTime.GetArray(), nominalZd.GetArray(), n-1);
    213218    fSplineAz = new TSpline3("azimuth",
    214                              reportTime.GetArray(), nominalAz.GetArray(), n);
     219                             reportTime.GetArray(), nominalAz.GetArray(), n-1);
    215220    fSplineRa = new TSpline3("RA",
    216                              reportTime.GetArray(), ra.GetArray(), n);
     221                             reportTime.GetArray(), ra.GetArray(), n-1);
    217222    fSplineDec = new TSpline3("DEC",
    218                              reportTime.GetArray(), dec.GetArray(), n);
     223                             reportTime.GetArray(), dec.GetArray(), n-1);
    219224   
    220225    if (fDebug)
     
    232237        c->Modified();
    233238        c->Update();
     239        c->SaveAs("pointing.root");
    234240    }
    235241    return kTRUE;
     
    290296    //const Int_t run = fRunHeader->GetRunNumber();
    291297  const MTime* StartRunTime = &fRunHeader->GetRunStart();
    292   Double_t time = StartRunTime->GetTime();
     298  Int_t time = StartRunTime->GetTime();
    293299
    294300   switch(fTimeMode)
     
    305311                   << " outside range of drive reports  (" << fFirstDriveTime
    306312                   << ", " << fLastDriveTime << ")" << endl;
     313
     314            if ( *fEvtTime<fFirstDriveTime )  time = fFirstDriveTime.GetTime();
     315            if ( *fEvtTime>fLastDriveTime )   time = fLastDriveTime.GetTime();
    307316
    308317             *fLog << " PointingPos: time = " << time << " (" << *fEvtTime << ")  (zd, az, ra, dec) = (" << fSplineZd->Eval( time )<< ", "  <<fSplineAz
     
    328337        if( *fEvtTime<fFirstDriveTime || *fEvtTime>fLastDriveTime)
    329338        {
    330             *fLog << err << GetDescriptor() << ": Run time = "
    331                   << *fEvtTime << " outside range of drive reports  ("
    332                   << fFirstDriveTime << ", "<< fLastDriveTime << ")" << endl;
    333 
    334             *fLog << " PointingPos: time = " << time << " (" << *fEvtTime << ")  (zd, az, ra, dec) = (" << fSplineZd->Eval( time )<< ", "  <<fSplineAz->Eval( time )<< ", " <<fSplineRa->Eval( time ) << ", "  <<fSplineDec->Eval( time )<< ")" << endl;
    335 
    336             if ( *fEvtTime<fFirstDriveTime )  time = fFirstDriveTime.GetTime();
    337             if ( *fEvtTime>fLastDriveTime )   time = fLastDriveTime.GetTime();
     339            if (fDebug)
     340                {
     341                   *fLog << err << GetDescriptor() << ": Run time = "
     342                          << *fEvtTime << " outside range of drive reports  ("
     343                      << fFirstDriveTime << ", "<< fLastDriveTime << ")" << endl;
     344
     345                    if ( *fEvtTime<fFirstDriveTime )  time = fFirstDriveTime.GetTime();
     346                    if ( *fEvtTime>fLastDriveTime )   time = fLastDriveTime.GetTime();
     347
     348                    *fLog << " PointingPos: time = " << time << " (" << *fEvtTime << ")  (zd, az, ra, dec) = (" << fSplineZd->Eval( time )<< ", "  <<fSplineAz->Eval( time )<< ", " <<fSplineRa->Eval( time ) << ", "  <<fSplineDec->Eval( time )<< ")" << endl;
     349                }
     350
    338351            //fError = kTRUE;
    339352            //return kFALSE;
     
    349362    // Check that we have drive report for this time
    350363    //
    351     if( *StartRunTime<fFirstDriveTime || *StartRunTime>fLastDriveTime)
     364    //if( *StartRunTime<fFirstDriveTime || *StartRunTime>fLastDriveTime)
     365    if( *StartRunTime>fLastDriveTime)
    352366    {
    353367        *fLog << err << GetDescriptor() << ": Run time " << *StartRunTime
Note: See TracChangeset for help on using the changeset viewer.