Changeset 16810


Ignore:
Timestamp:
06/12/13 10:58:06 (11 years ago)
Author:
lyard
Message:
Added tile header to zfits
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/src/fitsCompressor.cc

    r16809 r16810  
    461461  uint32_t numRows;
    462462  uint64_t size;
    463   TileHeader(uint32_t nRows=0, uint64_t s=0)
    464   {
    465       id[0]='T';
    466       id[1]='I';
    467       id[2]='L';
    468       id[3]='E';
    469       numRows=nRows;
    470       size=s;
    471   };
     463  TileHeader(uint32_t nRows=0,
     464             uint64_t s=0) : id({'T', 'I', 'L', 'E'}),
     465                             numRows(nRows),
     466                             size(s)
     467  { };
    472468} __attribute__((__packed__)) TileHeader;
    473469
  • trunk/Mars/mcore/zfits.h

    r16669 r16810  
    7979
    8080private:
     81    typedef struct TileHeader
     82    {
     83      char     id[4];
     84      uint32_t numRows;
     85      uint64_t size;
     86      TileHeader(uint32_t nRows=0,
     87                 uint64_t s=0) : id({'T', 'I', 'L', 'E'}),
     88                                 numRows(nRows),
     89                                 size(s)
     90      { };
     91      friend ostream& operator << (ostream& out, const TileHeader& h)
     92      {
     93          out << h.id[0] << h.id[1] << h.id[2] << h.id[3] << " num Rows: " << h.numRows << ", tile size: " << h.size;
     94          return out;
     95      }
     96    } __attribute__((__packed__)) TileHeader;
    8197
    8298    // Do what it takes to initialize the compressed structured
     
    224240
    225241            //skip to the beginning of the tile
    226             seekg(fHeapOff+fCatalog[requestedTile][0].second);
     242            seekg(fHeapOff+fCatalog[requestedTile][0].second - sizeof(TileHeader));
     243            TileHeader tHead;
     244            read((char*)(&tHead), sizeof(TileHeader));
     245            cout << tHead << endl;
     246//            seekg(fHeapOff+fCatalog[requestedTile][0].second);
    227247            read(fCompressedBuffer.data(), sizeToRead);
    228248
     
    231251                fCopy.good())
    232252            {
     253                fCopy.write((char*)(&tHead), sizeof(TileHeader));
    233254                fCopy.write(fCompressedBuffer.data(), sizeToRead);
    234255                if (!fCopy)
Note: See TracChangeset for help on using the changeset viewer.