12#include "MantidKernel/DllConfig.h"
34template <
typename T>
class TimeSeriesProperty;
49 static const std::string currentPeriodLogName(
const int period);
56 static Kernel::Property *createLogProperty(
const std::string &logFName,
const std::string &
name);
58 static bool isICPEventLogNewStyle(
const std::multimap<Types::Core::DateAndTime, std::string> &logm);
90 enum class commands {
NONE = 0, BEGIN, END, CHANGE_PERIOD, ABORT };
97 std::shared_ptr<Kernel::TimeSeriesProperty<int>>
m_periods;
100 std::shared_ptr<Kernel::TimeSeriesProperty<bool>>
m_status;
106 CommandMap createCommandMap(
bool newStyle)
const;
109 void tryParsePeriod(
const std::string &scom,
const Types::Core::DateAndTime &time, std::istringstream &idata,
LogParser parses the instrument log files to select records corresponding to 'RUNNING' instrument sta...
std::shared_ptr< Kernel::TimeSeriesProperty< bool > > m_status
TimeSeriesProperty<bool> containing running status. Created by LogParser.
static const std::string statusLogName()
Returns the name of the log created that defines the status during a run.
int nPeriods() const
Number of periods.
std::map< std::string, commands > CommandMap
Typedef for a map of string commands to an enum of strongly typed commands.
static const std::string currentPeriodLogName()
Returns the name of the log that contains the current period number.
commands
Available commands.
void parseNewStyleCommands(const std::multimap< Types::Core::DateAndTime, std::string > &logm, Kernel::TimeSeriesProperty< int > *periods, Kernel::TimeSeriesProperty< bool > *status)
Parse the icp event log with new style commands.
std::shared_ptr< Kernel::TimeSeriesProperty< int > > m_periods
TimeSeriesProperty<int> containing data periods. Created by LogParser.
static const std::string periodsLogName()
Returns the name of the log that contains all of the periods.
void parseOldStyleCommands(const std::multimap< Types::Core::DateAndTime, std::string > &logm, Kernel::TimeSeriesProperty< int > *periods, Kernel::TimeSeriesProperty< bool > *status)
Parse the icp event log with old style commands.
int m_nOfPeriods
Number of periods.
Base class for properties.
TimeROI : Object that holds information about when the time measurement was active.
A specialised Property class for holding a series of time-value pairs.
MANTID_KERNEL_DLL double timeMean(const Kernel::Property *p, const TimeROI *roi=nullptr)
Returns the mean value if the property is TimeSeriesProperty<double>
Helper class which provides the Collimation Length for SANS instruments.