18#define TarTypeFlag_NormalFile '0'
19#define TarTypeFlag_HardLink '1'
20#define TarTypeFlag_SymbolicLink '2'
21#define TarTypeFlag_CharacterSpecial '3'
22#define TarTypeFlag_BlockSpecial '4'
23#define TarTypeFlag_Directory '5'
24#define TarTypeFlag_FIFO '6'
25#define TarTypeFlag_ContiguousFile '7'
28namespace DataHandling {
75 virtual void addEventImpl(
size_t id, int64_t pulse,
double tof) = 0;
79 EventProcessor(
const std::vector<bool> &roi,
size_t stride,
const double period,
const double phase,
80 const int64_t startTime,
const double tofMinBoundary,
const double tofMaxBoundary,
81 const double timeMinBoundary,
const double timeMaxBoundary);
97 void addEventImpl(
size_t id, int64_t pulse,
double tof)
override;
101 EventCounter(
const std::vector<bool> &roi,
const size_t stride,
const double period,
const double phase,
102 const int64_t startTime,
const double tofMinBoundary,
const double tofMaxBoundary,
103 const double timeMinBoundary,
const double timeMaxBoundary, std::vector<size_t> &eventCounts);
117 void addEventImpl(
size_t id, int64_t pulse,
double tof)
override;
121 EventAssigner(
const std::vector<bool> &roi,
const size_t stride,
const double period,
const double phase,
122 int64_t startTime,
const double tofMinBoundary,
const double tofMaxBoundary,
123 const double timeMinBoundary,
const double timeMaxBoundary, std::vector<EventVector_pt> &eventVectors);
132 void addEventImpl(
size_t id, int64_t pulse,
double tof)
override;
137 const double period,
const double phase,
const int64_t startTime,
138 const double tofMinBoundary,
const double tofMaxBoundary,
const double timeMinBoundary,
139 const double timeMaxBoundary, std::vector<EventVector_pt> &eventVectors);
163 bool read(
void *buffer, uint32_t size);
164 bool seek(int64_t offset,
int whence, int64_t *newPosition =
nullptr);
237 File(
const std::string &path);
242 const std::vector<std::string> &
files()
const;
249 bool select(
const char *file);
250 bool skip(uint64_t offset);
251 size_t read(
void *dst,
size_t size);
255 static bool append(
const std::string &path,
const std::string &name,
const void *buffer,
size_t size);
double value
The value of the point.
Helper class for reporting progress from algorithms.
void addEventImpl(size_t id, int64_t pulse, double tof) override
void addEventImpl(size_t id, int64_t pulse, double tof) override
std::vector< EventVector_pt > & m_eventVectors
void addEventImpl(size_t id, int64_t pulse, double tof) override
std::vector< size_t > & m_eventCounts
const double m_timeMinBoundary
const double m_timeMaxBoundary
virtual void addEventImpl(size_t id, int64_t pulse, double tof)=0
void addEvent(size_t x, size_t y, double tof)
const double m_tofMinBoundary
const double m_tofMaxBoundary
const std::vector< bool > & m_roi
bool seek(int64_t offset, int whence, int64_t *newPosition=nullptr)
FastReadOnlyFile & operator=(FastReadOnlyFile)=delete
FastReadOnlyFile(const FastReadOnlyFile &)=delete
bool read(void *buffer, uint32_t size)
helper class to keep track of progress
void update(int64_t position)
API::Progress & m_progBar
std::vector< FileInfo > m_fileInfos
uint8_t m_buffer[BUFFER_SIZE]
std::vector< std::string > m_fileNames
const std::string & selected_name() const
int64_t selected_position() const
size_t read(void *dst, size_t size)
bool select(const char *file)
const std::vector< std::string > & files() const
static bool append(const std::string &path, const std::string &name, const void *buffer, size_t size)
File & operator=(const File &)
bool skip(uint64_t offset)
static const auto BUFFER_SIZE
int64_t selected_size() const
std::vector< Types::Event::TofEvent > * EventVector_pt
pointer to the vector of events
Helper class which provides the Collimation Length for SANS instruments.
char LastModification[12]
char DeviceMajorNumber[8]
char DeviceMinorNumber[8]
void writeFileSize(int64_t value)