/usr/include/pbseq/hdf/HDFScanDataWriter.hpp is in libpbihdf-dev 0~20161219-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101  | // Author: Yuan Li
#ifndef DATA_HDF_HDF_SCAN_DATA_WRITER_H_
#define DATA_HDF_HDF_SCAN_DATA_WRITER_H_
#include <string>
#include <iostream>
#include "HDFFile.hpp"
#include "HDFGroup.hpp"
#include "HDFAtom.hpp"
// pbdata/
#include "../pbdata/Enumerations.h"
#include "../pbdata/reads/ScanData.hpp"
#include "../pbdata/reads/AcqParams.hpp"
class HDFScanDataWriter {
private:
    HDFGroup * rootGroupPtr;
	HDFGroup scanDataGroup;
	HDFGroup acqParamsGroup;
    HDFGroup dyeSetGroup;
	HDFGroup runInfoGroup;
	HDFAtom<std::string> whenStartedAtom;
	HDFAtom<float> frameRateAtom;
	HDFAtom<unsigned int> numFramesAtom;
    HDFAtom<std::string> baseMapAtom;
    HDFAtom<uint16_t> numAnalogAtom;
	HDFAtom<std::string> movieNameAtom;
	HDFAtom<std::string> runCodeAtom;
	HDFAtom<std::string> bindingKitAtom;
	HDFAtom<std::string> sequencingKitAtom;
	HDFAtom<unsigned int> platformIdAtom;
	HDFAtom<std::string> platformNameAtom;
    HDFAtom<std::string> instrumentNameAtom;
    void CreateAcqParamsGroup();
    void CreateDyeSetGroup();
    void CreateRunInfoGroup();
public:
	HDFScanDataWriter(HDFFile & _outFile);
    HDFScanDataWriter(HDFGroup & _rootGroup);
    ~HDFScanDataWriter();
    
    int Initialize(HDFGroup & _rootGroup);
      
    void Write(const ScanData & scanData);
    void Write(const ScanData & scanData, 
               const AcqParams & acqParam);
   
	void WriteFrameRate(const float frameRate);
    void WriteNumFrames(const unsigned int numFrames);
    void WriteWhenStarted(const std::string whenStarted);
	void Close();
  
private:
    void WriteBaseMap(const std::string baseMapStr);
   
    void WriteNumAnalog(const uint16_t numAnalog);
    void WritePlatformId(const PlatformId id);
   
    void WriteMovieName(const std::string movieName);
    void WriteRunCode(const std::string runCode);
    void WriteBindingKit(const std::string & bindingKit);
    void WriteSequencingKit(const std::string & sequencingKit);
private:
    /// Write attributes to /ScanData/AcqParams
    void _WriteAcqParams(const AcqParams & acqParams);
    void _WriteAduGain(const float aduGain);
    void _WriteCameraGain(const float cameraGain);
    void _WriteCameraType(const int cameraType);
    void _WriteHotStartFrame(const UInt hotStartFrame);
    void _WriteLaserOnFrame(const UInt laserOnFrame);
};
#endif
 |