25class RealTimeDataLogger :
public DataLoggerInterface,
29 std::filesystem::path mFilename;
32 size_t mCurrentAttribute;
34 std::vector<std::vector<Real>> mAttributeData;
37 typedef std::shared_ptr<RealTimeDataLogger> Ptr;
39 RealTimeDataLogger(std::filesystem::path &filename, Real finalTime,
41 RealTimeDataLogger(std::filesystem::path &filename,
size_t rowNumber);
43 virtual void start()
override;
44 virtual void stop()
override;
46 virtual void log(Real time, Int timeStepCount)
override;
48 virtual CPS::Task::Ptr getTask()
override;
52 Step(RealTimeDataLogger &logger)
53 : Task(
"RealTimeDataLogger.Write"), mLogger(logger) {
54 for (
auto attr : logger.mAttributes) {
55 mAttributeDependencies.push_back(attr.second);
57 mModifiedAttributes.push_back(Scheduler::external);
60 void execute(Real time, Int timeStepCount);
63 RealTimeDataLogger &mLogger;