12#include "MantidKernel/DllConfig.h"
33template <
typename T>
class TimeSeriesProperty;
48 static const std::string currentPeriodLogName(
const int period);
55 static Kernel::Property *createLogProperty(
const std::string &logFName,
const std::string &name);
57 static bool isICPEventLogNewStyle(
const std::multimap<Types::Core::DateAndTime, std::string> &logm);
89 enum class commands { NONE = 0, BEGIN, END, CHANGE_PERIOD, ABORT };
99 std::shared_ptr<Kernel::TimeSeriesProperty<bool>>
m_status;
105 CommandMap createCommandMap(
bool newStyle)
const;
108 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.
std::shared_ptr< Kernel::Property > m_periods
TimeSeriesProperty<int> containing data periods. Created by LogParser.
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.
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.
A specialised Property class for holding a series of time-value pairs.
MANTID_KERNEL_DLL double timeMean(const Kernel::Property *p)
Returns the mean value if the property is TimeSeriesProperty<double>
Helper class which provides the Collimation Length for SANS instruments.