26#include "utils/b2database.H" 
   27#include "utils/b2linear_algebra.H" 
   29namespace b2000::component {
 
   31class DomainTemp : 
public DomainComponent {
 
   33    std::string get_id()
 const override { 
return id; }
 
   36          const std::string& id_, TimeFunction* scalef_, Model& model_, 
const Case& case_,
 
   37          int subcase_id_)
 override {
 
   38        database = &
dynamic_cast<DataBase&
>(model_);
 
   41        subcase_id = subcase_id_;
 
   44    void set_subcase_id(
const int subcase_id_) { subcase_id = subcase_id_; }
 
   46    int get_subcase_id()
 const override { 
return subcase_id; }
 
   48    bool get_temperatures(
 
   49          const int branch_id, b2linalg::Matrix<double, b2linalg::Mrectangle>& values)
 const {
 
   50        SetName set_name = id;
 
   51        set_name.branch(branch_id);
 
   52        assert(database != 
nullptr);
 
   53        if (database->has_key(set_name)) {
 
   54            database->get(set_name, values);
 
   60    TimeFunction* get_scalef() { 
return scalef; }
 
   62    typedef ObjectTypeComplete<DomainTemp, DomainComponent::type_t> type_t;