Program Listing for File device.h¶
↰ Return to documentation for file (devices/device.h)
#pragma once
#include <yaml-cpp/yaml.h>
#include <Eigen/Dense>
#include "lupnt/core/config.h"
#include "lupnt/core/data_logger.h"
#include "lupnt/core/definitions.h"
namespace lupnt {
class Agent;
class Channel;
class Device : public DataLogger {
public:
Device() = default;
Device(Config& config);
virtual ~Device() = default;
virtual void Step(Real t);
virtual void Setup();
std::string GetName() const { return name_; }
void SetName(std::string name) { name_ = name; }
Agent* GetAgent() const { return agent_; }
void SetAgent(Agent* agent) { agent_ = agent; }
Real GetFrequency() const { return frequency_; }
void SetFrequency(Real frequency) { frequency_ = frequency; }
virtual void Log(Real time) { (void)time; };
protected:
Config config_;
Real frequency_ = 0.0;
std::string name_;
Agent* agent_ = nullptr;
Real time_ = 0.0;
};
} // namespace lupnt