26class DataLogger :
public DataLoggerInterface,
30 std::ofstream mLogFile;
36 virtual void logDataLine(Real time, Real data);
37 virtual void logDataLine(Real time,
const Matrix &data);
38 virtual void logDataLine(Real time,
const MatrixComp &data);
41 typedef std::shared_ptr<DataLogger> Ptr;
43 DataLogger(Bool enabled =
true);
44 DataLogger(String name, Bool enabled =
true, UInt downsampling = 1);
45 virtual ~DataLogger(){};
47 virtual void start()
override;
48 virtual void stop()
override;
50 virtual void setColumnNames(std::vector<String> names);
51 void logPhasorNodeValues(Real time,
const Matrix &data, Int freqNum = 1);
52 void logEMTNodeValues(Real time,
const Matrix &data);
54 virtual void log(Real time, Int timeStepCount)
override;
56 virtual CPS::Task::Ptr getTask()
override;
60 Step(DataLogger &logger) : Task(logger.mName +
".Write"), mLogger(logger) {
61 for (
auto attr : logger.mAttributes) {
62 mAttributeDependencies.push_back(attr.second);
64 mModifiedAttributes.push_back(Scheduler::external);
67 void execute(Real time, Int timeStepCount);