Changeset 18563 for trunk/Mars/mraw


Ignore:
Timestamp:
09/03/16 14:09:52 (8 years ago)
Author:
tbretz
Message:
Make proper use of the fIsMc flag, read and initialize other ocntainers setup in the header.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Mars/mraw/MRawFitsRead.cc

    r17782 r18563  
    156156    }
    157157
     158    fIsMc = fin.HasKey("ISMC");
     159
    158160    const string type = fin.GetStr("RUNTYPE");
    159161
     
    164166    fRawRunHeader->SetRunInfo(0, fin.GetUInt("NIGHT"), fin.GetUInt("RUNID"));
    165167    fRawRunHeader->InitFact(fin.GetUInt("NPIX")/9, 9, fin.GetUInt("NROI"), fPixelMap.size()==0?0:fPixelMap.data());
    166     if (!fin.HasKey("ISMC")){
    167         fRawRunHeader->SetFormat(0xf172, fin.GetUInt("BLDVER"));
    168     }
     168    fRawRunHeader->SetFormat(0xf172, fIsMc ? 0 : fin.GetUInt("BLDVER"));
    169169    fRawRunHeader->SetRunType(0/*data*/);
    170170
    171     if (!fin.HasKey("ISMC")){
     171    if (!fIsMc)
     172    {
    172173        const string runstart = fin.GetStr("DATE-OBS");
    173174        const string runstop  = fin.GetStr("DATE-END");
     
    176177    }
    177178
    178     if (!fin.HasKey("ISMC"))
    179         return
    180             fin.HasKey("NPIX") && fin.HasKey("RUNID")  &&
    181             fin.HasKey("NROI") && fin.HasKey("BLDVER") &&
    182             fin.HasKey("NIGHT");
    183     else
    184         return
    185             fin.HasKey("NPIX") && fin.HasKey("RUNID")  &&
    186             fin.HasKey("NROI") && fin.HasKey("NIGHT");
     179    for (int i=0; i<1000; i++)
     180    {
     181        const string clnamed = Form("CLNAME%d", i);
     182        if (!fin.HasKey(clnamed))
     183            break;
     184
     185        const string clname = fin.GetStr(clnamed);
     186
     187        MParContainer *par = (MParContainer*)fParList->FindCreateObj(clname.c_str());
     188        if (par)
     189            par->SetupFits(fin);
     190    }
     191
     192    return
     193        fin.HasKey("NPIX") && fin.HasKey("RUNID")  &&
     194        fin.HasKey("NROI") && fin.HasKey("NIGHT");
    187195}
    188196
     
    211219        return kFALSE;
    212220
    213     if (!fin.HasKey("ISMC")){
     221    if (!fIsMc)
     222    {
    214223        if (!fin.SetRefAddress("NumBoards", fNumBoards))
    215224            return kFALSE;
     
    220229                return kFALSE;
    221230
    222 
    223231        if (!fin.SetPtrAddress("BoardTime", fRawBoards->fFadTime, 40))
    224232            return kFALSE;
    225233    }
    226     else
    227         fIsMc = kTRUE;
    228 
    229234
    230235    if (!fin.SetPtrAddress("Data", (int16_t*)(*data)->GetArray(), (*data)->GetSize()/2))
     
    253258
    254259    }   
    255     // FIXME: Correctly sort the pixels here!
    256 
    257260    fRawEvtData1->SetReadyToSave();
    258261    fRawEvtData2->SetReadyToSave();
Note: See TracChangeset for help on using the changeset viewer.