24class RealTimeDataLogger :
public DataLoggerInterface,
28 std::filesystem::path mFilename;
31 size_t mCurrentAttribute;
33 std::vector<std::vector<Real>> mAttributeData;
36 typedef std::shared_ptr<RealTimeDataLogger> Ptr;
38 RealTimeDataLogger(std::filesystem::path &filename, Real finalTime,
40 RealTimeDataLogger(std::filesystem::path &filename,
size_t rowNumber);
42 virtual void start()
override;
43 virtual void stop()
override;
45 virtual void log(Real time, Int timeStepCount)
override;
47 virtual CPS::Task::Ptr getTask()
override;
51 Step(RealTimeDataLogger &logger)
52 : Task(
"RealTimeDataLogger.Write"), mLogger(logger) {
53 for (
auto attr : logger.mAttributes) {
54 mAttributeDependencies.push_back(attr.second);
56 mModifiedAttributes.push_back(Scheduler::external);
59 void execute(Real time, Int timeStepCount);
62 RealTimeDataLogger &mLogger;