Changeset 17661 for trunk/Mars/mfileio


Ignore:
Timestamp:
04/07/14 15:01:50 (10 years ago)
Author:
ftemme
Message:
Added the writing of MArrayF in MWriteFitsFile
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Mars/mfileio/MWriteFitsFile.cc

    r17559 r17661  
    44#include "MArrayS.h"
    55#include "MArrayB.h"
     6#include "MArrayF.h"
    67
    78#include "MRead.h"
     
    888889          if (strncmp(dataMember->GetTrueTypeName(), "MArray", 6) == 0)
    889890          {
    890 //              MArrayHelperBase * clHelper;
    891891              if (strcmp(dataMember->GetTrueTypeName(), "MArrayS*") == 0)
    892892              {
    893                     typeName = "UShort_t";
    894                     arraySize = (*((MArrayS**)((char*)baseAdr + dataMember->GetOffset())))->GetSize();
    895                     InitSingleColumn(tableName,
     893                  typeName = "UShort_t";
     894                  arraySize = (*((MArrayS**)((char*)baseAdr + dataMember->GetOffset())))->GetSize();
     895                  InitSingleColumn(tableName,
     896                                   arraySize,
     897                                   typeName.Data(),
     898                                   (char*)(*((MArrayS**)((char*)baseAdr + dataMember->GetOffset())))->GetArray(),
     899                                   colName.Data(),
     900                                   unit,
     901                                   comment);
     902              }
     903              else if (strcmp(dataMember->GetTrueTypeName(), "MArrayB*") == 0)
     904              {
     905                      typeName = "UChar_t";
     906                      arraySize = (*((MArrayB**)((char*)baseAdr + dataMember->GetOffset())))->GetSize();
     907                      InitSingleColumn(tableName,
    896908                                     arraySize,
    897909                                     typeName.Data(),
    898                                      (char*)(*((MArrayS**)((char*)baseAdr + dataMember->GetOffset())))->GetArray(),
     910                                     (char*)(*((MArrayB**)((char*)baseAdr + dataMember->GetOffset())))->GetArray(),
    899911                                     colName.Data(),
    900912                                     unit,
    901913                                     comment);
    902914              }
    903               else
     915              else if (strcmp(dataMember->GetTrueTypeName(), "MArrayF*") == 0)
    904916              {
    905                   if (strcmp(dataMember->GetTrueTypeName(), "MArrayB*") == 0)
    906                   {
    907                       typeName = "UChar_t";
    908                       arraySize = (*((MArrayB**)((char*)baseAdr + dataMember->GetOffset())))->GetSize();
     917                      typeName = "TFloat_t";
     918                      arraySize = (*((MArrayF**)((char*)baseAdr + dataMember->GetOffset())))->GetSize();
    909919                      InitSingleColumn(tableName,
    910                                        arraySize,
    911                                        typeName.Data(),
    912                                        (char*)(*((MArrayB**)((char*)baseAdr + dataMember->GetOffset())))->GetArray(),
    913                                        colName.Data(),
    914                                        unit,
    915                                        comment);
    916                   }
    917                   else
    918                   {
    919                       *fLog << err << dataMember->GetTrueTypeName() << " not yet implemented." << endl;
    920                       return kFALSE;
    921                   }
     920                                     arraySize,
     921                                     typeName.Data(),
     922                                     (char*)(*((MArrayF**)((char*)baseAdr + dataMember->GetOffset())))->GetArray(),
     923                                     colName.Data(),
     924                                     unit,
     925                                     comment);
    922926              }
    923927
    924             continue;
     928              else {
     929                  *fLog << err << dataMember->GetTrueTypeName() << " not yet implemented." << endl;
     930                  return kFALSE;
     931              }
     932
     933
     934              continue;
    925935          }
    926936         else if (strcmp(dataMember->GetTrueTypeName(), "TClonesArray") == 0)
Note: See TracChangeset for help on using the changeset viewer.